双卡时候获取指定的imsi码
来源:互联网 发布:程序员对笔记本尺寸 编辑:程序博客网 时间:2024/06/10 18:23
当手机里面插入两张sim卡的时候获取两张imsi码
智能机时代,国内Android手机基本找不到单卡的手机了,android系统api给我们预留了一些默认的方法来获取默认sim卡的方法比如:
当我们要同时获取指定的sim的imsi码的时候,就要花费点时间研究一下了:
我这给出一种通过反射获取imsi码方案:
public static String getIMSI(Context context) { TelephonyManager mTelephonyMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); String imsi = mTelephonyMgr.getSubscriberId(); return imsi;}
当我们要同时获取指定的sim的imsi码的时候,就要花费点时间研究一下了:
我这给出一种通过反射获取imsi码方案:
/***获取指定sim卡的IMSI序列号*/public static String getSimIMSI(TelephonyManager telephonyManager, int simid) { int[] subId = null;//SubscriptionManager.getSubId(simid); Class<?> threadClazz = SubscriptionManager.class; try { Method method = threadClazz.getDeclaredMethod("getSubId", int.class); method.setAccessible(true); subId = (int[]) method.invoke(null, simid); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } Log.d(TAG, "getSimIMSI, simId = " + simid + " subId = " + ((subId != null) ? subId[0] : "invalid!")); int sub = -1; if (Build.VERSION.SDK_INT >= 24) { sub = (subId != null) ? subId[0] : SubscriptionManager.getDefaultSubscriptionId(); } else { if (threadClazz != null) { try { Method method = threadClazz.getDeclaredMethod("getDefaultSubId"); method.setAccessible(true); sub = (subId != null) ? subId[0] : (Integer) method.invoke(null, null); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } } String IMSI = null; if (sub != -1) { Class clazz = telephonyManager.getClass(); try { Method method = clazz.getDeclaredMethod("getSubscriberId",int.class); method.setAccessible(true); IMSI = (String)method.invoke(telephonyManager,sub); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } Log.d(TAG, "IMSI = " + IMSI); if (!TextUtils.isEmpty(IMSI)) { return IMSI; } return null;}
阅读全文
0 0
- 双卡时候获取指定的imsi码
- 获取双卡手机的两个卡的IMSI
- Android 获取多卡手机的IMSI
- Android 应用程序获取手机的 IMSI 码
- 如何获取SIM2的imsi
- 获取sim卡IMSI信息
- Android 应用程序获取手机的 IMSI 码 及SIM卡复制
- Android 获取双卡手机IMEI,IMSI,ICCID
- 获取手机的IMEI与IMSI
- 获取手机的IMEI,MSISDN,ICCID,IMSI
- 目前最全的获取IMSI方法
- 关于android各种双卡手机获取imei,imsi的处理(mtk,展讯,高通等)
- ANDROID下获取IMSI及IMEI码
- android 获取手机IMSI码 双卡双待手机
- 获取手机Imei码,手机号,IMSI标识
- SIM卡的IMSI号
- SIM卡的ICCID、IMSI
- Windows mobile获取手机的IMEI号和SIM卡的IMSI号
- 刷清橙OJ--A1034.孪生素数对
- 事务基础详解
- Ajax的错误调试
- 第3章 编程问题 3.3节 9
- Android之SharedPreferences详解
- 双卡时候获取指定的imsi码
- [一天几个linux命令] cd
- 交叉编译安装ARM平台上的Qt
- 【前端技巧】html右键禁用和web页面中添加加入qq群的方式
- Java环境搭建一JDK安装下载配置
- Python的7种性能测试工具:timeit、profile、cProfile、line_profiler、memory_profiler、PyCharm图形化性能测试工具、objgraph
- C#在异常中获取HttpStatusCode用法
- 实操VS2015配置内存泄漏检查工具Visual Leak Detector
- 设计模式学习笔记(Java篇)之设计模式原则