您的位置:首页 > 其它

获取手机IMEI/ICCID/IMSI

2016-03-07 10:28 519 查看
TelephonyManager telManager = (TelephonyManager) this
.getSystemService(Context.TELEPHONY_SERVICE);

String imei = telManager.getDeviceId();       //取出IMEI:国际移动设备标识,是手机的识别id(International Mobile Equipment Identity)
String tel = telManager.getLine1Number();     //这就是总是不能成功的获取本机手机号方法
String iccid =telManager.getSimSerialNumber();  //取出ICCID:集成电路卡识别码(固化在手机SIM卡中,就是SIM卡的序列号)很容易伪造哦
String imsi =telManager.getSubscriberId();  //取出IMSI:国际移动用户识别码(就是识别你是哪个运营商的SIM卡)
String operatorNum = telManager.getSimOperator();
String operator = "";
if (operatorNum != null) {

if (operatorNum.equals("46000") || operatorNum.equals("46002")
|| operatorNum.equals("46007")) {

// 中国移动
operator = "中国移动";
} else if (operatorNum.equals("46001")) {

// 中国联通
operator = "中国联通";

} else if (operatorNum.equals("46003")) {

// 中国电信
operator = "中国电信";

}

}
Log.e("aaa","imei--"+imei+"--iccid--"+iccid+"--imsi--"+imsi+"--运营商--"+operator);


补充说明

[1]在手机通话界面输入 *#06# 即可显示手机的IMEI,也就是 常说的手机的设备ID

[2] SIM卡背面的数字就是手机SIM卡的ICCID,也就是手机卡的序列号,这个号很容易造假

[3]很久以前Android是可以获取手机号的,现在随着SIM卡的升级,手机号码通过代码获取不到了

[4]IMSI我理解的是标识移动用户的(为了在无线路径和整个GSM(Global System for Mobile Communications,全球移动通信系统)移动通信网上正确地识别某个移动客户,就必须给移动客户分配一个特定的识别码。这个码是存储在SIM卡里的,通过代码可以获取)

啰嗦

SIM卡是(Subscriber Identity Module 客户识别模块)的缩写,也称为用户身份识别卡、智能卡

ICCID是手机卡背面的20位数字

实施实名制的初衷是遏制不良信息的传播,防范打击各种电话诈骗活动,解决相关部门取证难、查处难的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: