获取手机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位数字
实施实名制的初衷是遏制不良信息的传播,防范打击各种电话诈骗活动,解决相关部门取证难、查处难的问题。
相关文章推荐
- TabBar图标加载不了 -iOS
- 【GitHub】Set up GitHub for Win10
- 如何将一批pdf文件转换成jpg文件
- opencart源码解析之 index.php
- lintcode: 最长无重复字符的子串
- DP(斜率优化):HDU 3507 Print Article
- 多坐标点地图全部显示
- Android binder (8): 为何binder比D-Bus的效率高,高多少?
- 关于客户端向服务器发送请求的加密问题
- aop的代码原理+理论
- Office 365 - SharePoint Tips & Tricks
- 转:WebClient类(温习一下)
- bzoj 2820 YY的GCD(莫比乌斯反演)
- 2016蓝桥杯假期任务之《概率计算》
- 论JavaScript模块化编程
- 序列化的作用
- MVVM with ReactiveCocoa
- RunLoop
- IP限速
- 图示7大常见排序算法