Android 获取ICCID,IMEI
文章目录
- Android 获取ICCID,IMEI
- 权限
- 获取ICCID方法
- 一:TelephonyManager
- 二: SubscriptionInfo
Android 获取ICCID,IMEI
权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Android 6.0 以上需要动态申请
获取ICCID方法
一:TelephonyManager
在Android Q之前 可用,
在android Q(10)上不可用,尝试降低targetSdkVersion至28,同样在华为手机上无法获取IMEI和ICCID,其他手机待测
public static String getSimSerialNumber(Context context) {TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE);boolean allow = ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED;Log.d("ALLOW","-----"+allow);//IMEIif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {Log.d("Phone Imei","==="+telephonyManager.getImei());} else {Log.d("Phone Imei","==="+telephonyManager.getDeviceId());}//ICCIDLog.d("Phone SimSerial","==="+telephonyManager.getSimSerialNumber());return telephonyManager.getSimSerialNumber();
}
二: SubscriptionInfo
在android Q(10)上可以获取ICCID,在华为手机上无法获取Number,也无法通过反射获取IMEI
public static String getSimSerialNumberAll(Context context) {boolean allow = ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED;if (!allow) {return "Need READ_PHONE_STATE permission";}List<SubscriptionInfo> sis;if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {SubscriptionManager sm = SubscriptionManager.from(context);int count = sm.getActiveSubscriptionInfoCount();//当前实际插卡数量int max = sm.getActiveSubscriptionInfoCountMax();//当前卡槽数量Log.d("card number=", String.valueOf(count));Log.d("card slot num", String.valueOf(max));sis = sm.getActiveSubscriptionInfoList();for (SubscriptionInfo subInfo : sis) {Log.d("iccId",subInfo.getIccId()); //ICC IDLog.d("Number",subInfo.getNumber());}return Arrays.toString(sis.toArray());}else {return "version < 22";}}
TelephonyManager tm = (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE);
try {Method method = tm.getClass().getMethod("getImei");String imei = (String) method.invoke(tm);Log.d("sim卡IMEI:","==="+imei);
} catch (NoSuchMethodException e) {e.printStackTrace();
} catch (IllegalAccessException e) {e.printStackTrace();
} catch (InvocationTargetException e) {e.printStackTrace();
}
详细:唯一标识符最佳做法
参考:
https://blog.csdn.net/qq_43278826/article/details/95216504
Android 获取ICCID,IMEI相关推荐
- Android获取手机IMEI,IMSI, MAC标识和唯一标识的生成
急的直接看这个: android 获取设备IMEI与序列号: //IMEI(imei) TelephonyManager tm = (TelephonyManager) ChinaApplicat ...
- android 6.0获取手机imei,android获取手机信息大全,android获取大全,IMEI号,IESI号,...
android获取手机信息大全,android获取大全,IMEI号,IESI号, IMEI号,IESI号,手机型号: [java] view plaincopyprint?private void g ...
- Android获取手机IMEI号和IMSI号
下面是主要内容: IMEI 和 IMSI 是什么 如何获取 IMEI 和 IMSI 代码示例 1. 先看下 IMEI 和 IMSI 是什么 IMEI(International Mobile Equi ...
- android 获取iccid imsi
网上关于这些挺多的,不过没找到关于双卡的以及未插卡的异常处理,我的需求是在settings里面添加菜单显示iccid imsi,记录一下 (一)在设置-关于手机显示iccid imsi 1.在pack ...
- android 获取手机IMEI号码
核心代码: Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)) .getDeviceId(); 1.加入权限 在manife ...
- android 获取设备串号,Android获取设备IMEI和Mac地址
释放双眼,带上耳机,听听看~! public static boolean checkPermission(Context context, String permission) { boolean ...
- android根据mac地址连接耳机,Android获取设备IMEI和Mac地址
释放双眼,带上耳机,听听看~! public static boolean checkPermission(Context context, String permission) { boolean ...
- Android 获取设备各种信息以及其它
做手机开发,想必都希望获取手机号码吧,android中有一个类android.telephony.TelephonyManager提供这个功能. TelephonyManager tm = (Tele ...
- 关于android系统获取iccid的问题
1.什么是iccid? ICCID:Integrate circuit card identity 集成电路卡识别码(固化在手机SIM卡中) ICCID为IC卡的唯一识别号码,共有20位数字组成,其编 ...
- android获取imei兼容_Android获取IMEI号码
1 android 获取 imei号码2 3 核心代码:4 5 Imei =((TelephonyManager) getSystemService(TELEPHONY_SERVICE))6 .get ...
最新文章
- PNAS:水稻微生物组
- 类的继承定义一个computer类在此基础上派生出两个子类(继承与多态绑定)
- No module named MNIST_写给小白的用fashion-mnist入门机器学习和深度学习的简单项目(非常全面!!!)...
- 统计学习:基本常用公式(1)
- Zxing二维码精简(竖屏、拉伸处理、扫描框大小和扫描线移动)
- matlab调用kmeans_matlab做聚类分析(k-means)
- Codeforces Round #693 (Div. 3) G. Moving to the Capital dp + 思维
- Vue组件化开发 - 非常详细,不要错过哦~
- 推荐 | 自然语言处理、计算机视觉等机器学习实战项目练手平台
- ZR18提高5解题报告
- 大数据导论章节答案_大数据概论智慧树章节答案
- [BZOJ 5339] 教科书般的亵渎
- 号称是世界最大的电子书图书馆ZLibrary
- CGAL 计算几何库
- 英语——句子结构和成分大全【学习笔记】
- java实现阿里云图片文字识别
- influence和effect的区别
- CC00056.bigdatajava——|Java分支结构.V06|——|Java.v06|ifelseifelse.v02|个人所得税计算方式一|
- 【心理】执行功能障碍
- 浅谈移动端页面性能优化方案