android 获取手机IMSI码 双卡双待手机
2013-11-12 19:44
435 查看
public static String getImsi(Context context) { String imsi = ""; try { //普通方法获取imsi TelephonyManager tm = (TelephonyManager) context. getSystemService(Context.TELEPHONY_SERVICE); imsi = tm.getSubscriberId(); if (imsi==null || "".equals(imsi)) imsi = tm.getSimOperator(); Class<?>[] resources = new Class<?>[] {int.class}; Integer resourcesId = new Integer(1); if (imsi==null || "".equals(imsi)) { try { //利用反射获取 MTK手机 Method addMethod = tm.getClass().getDeclaredMethod("getSubscriberIdGemini", resources); addMethod.setAccessible(true); imsi = (String) addMethod.invoke(tm, resourcesId); } catch (Exception e) { imsi = null; } } if (imsi==null || "".equals(imsi)) { try { //利用反射获取 展讯手机 Class<?> c = Class .forName("com.android.internal.telephony.PhoneFactory"); Method m = c.getMethod("getServiceName", String.class, int.class); String spreadTmService = (String) m.invoke(c, Context.TELEPHONY_SERVICE, 1); TelephonyManager tm1 = (TelephonyManager) context.getSystemService(spreadTmService); imsi = tm1.getSubscriberId(); } catch (Exception e) { imsi = null; } } if (imsi==null || "".equals(imsi)) { try { //利用反射获取 高通手机 Method addMethod2 = tm.getClass().getDeclaredMethod("getSimSerialNumber", resources); addMethod2.setAccessible(true); imsi = (String) addMethod2.invoke(tm, resourcesId); } catch (Exception e) { imsi = null; } } if (imsi==null || "".equals(imsi)) { imsi = "000000"; } return imsi; } catch (Exception e) { return "000000"; } } 此方法一般都能够获取到IMSI 无高通手机没有亲测 MTK 和展讯手机亲测可行 一般放在卡1的SIM卡 普通方法即可获取 卡2的SIM卡 一般需利用反射来获取 不同芯片的手机底层的方法也不一样 可能经过深度定制的手机无法获取到
相关文章推荐
- Android获取双卡双待手机的SIM卡信息示例代码
- Android 笔记:获取本机手机号(适用于双卡双待手机)
- Android 获取本机手机号(适用于双卡双待手机)
- android双待手机获取每一张SIM卡的imei
- 关于android各种双卡手机获取imei,imsi的处置(mtk,展讯,高通等)
- 关于android各种双卡手机获取imei,imsi的处理(mtk,展讯,高通等)
- Android双卡手机:获取主卡副卡的simid(上)方案实现
- android之获取手机IMEI、IMSI码
- android获取手机IMSI码判断手机运营商代码实例
- Android 获取双卡手机IMEI,IMSI,ICCID
- 获取手机IMEI(包括各种平台的双卡双待手机)
- 获取小米双卡双待手机默认上网卡槽的方法
- 【记录】 Android 双卡手机获取IMEI等
- Android 通过反射及AIDL获取双卡手机SIM卡相关信息,及注册监听
- Android 通过反射及AIDL获取双卡手机SIM卡相关信息,及注册监听
- 关于android各种双卡手机获取imei,imsi的处理(mtk,展讯,高通等)
- 【记录】 Android 双卡手机获取IMEI等
- Android 双卡双待手机解析短信异常分析及解决
- Android双卡手机:获取主卡副卡的simid(上)方案实现
- Android 双卡双待手机解析短信异常分析及解决