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位数字
实施实名制的初衷是遏制不良信息的传播,防范打击各种电话诈骗活动,解决相关部门取证难、查处难的问题。