添加权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
private TelephonyManager telMgr;
private SimpleAdapter listItemAdapter; // ListView的适配器
private ArrayList<HashMap<String, Object>> listItem; // ListView的数据源,这里是一个HashMap的列表
private ListView myList; // ListView控件
@SuppressWarnings("static-access")
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.phone_info);
telMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); /* 将取得的信息写入List中 *//* 取得手机电话号码 */
listItem = new ArrayList<HashMap<String, Object>>();
listItemAdapter = new SimpleAdapter(this, listItem,
R.layout.list_item4, new String[] { "title", "text" },
new int[] { R.id.title, R.id.text });
myList = (ListView) findViewById(R.id.listView1);
myList.setAdapter(listItemAdapter);
if (telMgr.getLine1Number() != null) {
addItem("手机电话号码" ,telMgr.getLine1Number());
} else {
addItem("手机电话号码" ,"无法取得");
}
/* 取得电信网络国别 */
if (telMgr.getNetworkCountryIso().equals("")) {
addItem("电信网络国别" ,"无法取得");
} else {
addItem("电信网络国别" ,telMgr.getNetworkCountryIso());
}
/* 取得电信公司代码 */
if (telMgr.getNetworkOperator().equals("")) {
addItem("电信公司代码 " ,"无法取得");
} else {
addItem("电信公司代码 " ,telMgr.getNetworkOperator());
}
/* 取得电信公司名称 */
if (telMgr.getNetworkOperatorName().equals("")) {
addItem("电信公司名称" ,"无法取得");
} else {
addItem("电信公司名称 " ,telMgr.getNetworkOperatorName());
}
/* 取得行动通讯类型 */
if (telMgr.getPhoneType() == telMgr.PHONE_TYPE_GSM) {
addItem("行动通讯类型" ,"GSM");
} else {
addItem("行动通讯类型" ,"未知");
}
/* 取得网络类型 */
if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_EDGE) {
addItem("网络类型 " ,"EDGE");
} else if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_GPRS) {
addItem("网络类型" ,"GPRS");
} else if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_UMTS) {
addItem("网络类型" ,"UMTS");
} else if (telMgr.getNetworkType() == 4) {
addItem("网络类型" ,"HSDPA");
} else {
addItem("网络类型" ,"未知");
}
/* 取得漫游状态 */
if (telMgr.isNetworkRoaming()) {
addItem("漫游状态" ,"漫游中");
} else {
addItem("漫游状态" ,"无漫游");
}
/* 取得手机IMEI */
addItem("手机IMEI" ,telMgr.getDeviceId());
/* 取得IMEI SV */
if (telMgr.getDeviceSoftwareVersion() != null) {
addItem("IMEI号码" ,telMgr.getDeviceSoftwareVersion());
} else {
addItem("IMEI号码" ,"无法取得");
}
/* 取得手机IMSI */
if (telMgr.getSubscriberId() != null) {
addItem("手机IMSI号码" ,telMgr.getSubscriberId());
} else {
addItem("手机IMSI号码" ,"无法取得");
}
/* 取得ContentResolver */
ContentResolver cv = PhoneInfo.this.getContentResolver();
String tmpS = ""; /* 取得蓝芽状态 */
tmpS = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.BLUETOOTH_ON);
if (tmpS.equals("1")) {
addItem("手机蓝牙状态" ,"已开启");
} else {
addItem("手机蓝牙状态" ,"未开启");
}
/* 取得WIFI状态 */
tmpS = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.WIFI_ON);
if (tmpS.equals("1")) {
addItem("手机WIFI状态" ,"已开启");
} else {
addItem("手机WIFI状态" ,"未开启");
}
/* 取得飞行模式是否开启 */
tmpS = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.AIRPLANE_MODE_ON);
if (tmpS.equals("1")) {
addItem("飞行模式" ,"开启中");
} else {
addItem("飞行模式" ,"未开启");
}
/* 取得数据漫游是否开启 */
tmpS = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.DATA_ROAMING);
if (tmpS.equals("1")) {
addItem("数据漫游" ,"开启中");
} else {
addItem("数据漫游" ,"未开启");
}
}
private void addItem(String title, String str) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("title", title);
map.put("text", str);
listItem.add(map);
listItemAdapter.notifyDataSetChanged();
}