android 获取手机各类信息 源码
获得唯一码的方法及相应的权限设置
1.获取手机设备的唯一码(IMIE )
public void fetch_status(){
TelephonyManager tm = (TelephonyManager) this
.getSystemService(Context.TELEPHONY_SERVICE);//
String str = "";
str += "DeviceId(IMEI) = " + tm.getDeviceId() + "\n";
str += "DeviceSoftwareVersion = " + tm.getDeviceSoftwareVersion() + "\n";
str += "Line1Number = " + tm.getLine1Number() + "\n";
str += "NetworkCountryIso = " + tm.getNetworkCountryIso() + "\n";
str += "NetworkOperator = " + tm.getNetworkOperator() + "\n";
str += "NetworkOperatorName = " + tm.getNetworkOperatorName() + "\n";
str += "NetworkType = " + tm.getNetworkType() + "\n";
str += "PhoneType = " + tm.getPhoneType() + "\n";
str += "SimCountryIso = " + tm.getSimCountryIso() + "\n";
str += "SimOperator = " + tm.getSimOperator() + "\n";
str += "SimOperatorName = " + tm.getSimOperatorName() + "\n";
str += "SimSerialNumber = " + tm.getSimSerialNumber() + "\n";
str += "SimState = " + tm.getSimState() + "\n";
str += "SubscriberId(IMSI) = " + tm.getSubscriberId() + "\n";
str += "VoiceMailNumber = " + tm.getVoiceMailNumber() + "\n";
TextView sys = (TextView) findViewById(R.id.sys);
sys.setText(str);
}
2.在AndroidManifest.xml里添加权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
////////////////////////////////////////////////////////////////////////////////////////////////////////
TelephonyManager telephonyManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
if(TelephonyManager.SIM_STATE_READY != telephonyManager .getSimState()){//判断SIM卡状态
return "0";
}
// String localtel=telephonyManager.getLine1Number();//本机号码,部分手机无法获取
// String ProvidersName = null;//哪家电话号码
// 返回唯一的用户ID;就是这张卡的编号神马的
// String IMSI = telephonyManager.getSubscriberId();
String myIMSI = telephonyManager.getDeviceId(); //获取手机唯一码
// IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。
/* if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {
ProvidersName = "中国移动";
} else if (IMSI.startsWith("46001")) {
ProvidersName = "中国联通";
} else if (IMSI.startsWith("46003")) {
ProvidersName = "中国电信";
}*/
//保存本地号码
SharePreferenceUtil shareprefrence=new SharePreferenceUtil(context,"setting");
shareprefrence.setLocalTel(myIMSI);
// editor.putString("ProvidersName", ProvidersName);
// editor.putString("myIMSI", myIMSI);
return myIMSI;
posted on 2013-10-15 17:09 clarenceV1 阅读(528) 评论(0) 编辑 收藏 举报