查询方法:

public static JSONArray getAllSimInfo(TelephonyManager tel) throws Exception {    Class<?> clazz = tel.getClass();    //获取可以进行反射的字段    List list = new ArrayList<>();    Map listIgnore = new HashMap<>();    Method[] methods = clazz.getDeclaredMethods();    for(Method method : methods) {        String name = method.getName();        if(!name.startsWith("get"))            continue;        if(listIgnore.get(name) != null)            continue;        listIgnore.put(name, 0);        Method m1 = null;        Method m2 = null;        Method m3 = null;        try {m1 = clazz.getDeclaredMethod(name); } catch(Exception e) {}        try {m2 = clazz.getDeclaredMethod(name, int.class); } catch(Exception e) {}        try {m3 = clazz.getDeclaredMethod(name, long.class); } catch(Exception e) {}        if(m1 != null && ((m2 == null && m3 != null) || (m2 != null && m3 == null))) {            Class<?> c1 = m1.getReturnType();            Class<?> c2 = m2 == null ? null : m2.getReturnType();            Class<?> c3 = m3 == null ? null : m3.getReturnType();            if(m2 == null) {                if(c1 == null || c1 != c3)                    continue;            } else {                if(c1 == null || c1 != c2)                    continue;            }            EMethod item = new EMethod(name, m2 == null ? 1 : 0, c1);            list.add(item);        }    }    listIgnore.clear();    JSONArray array = new JSONArray();    for(int i=0; i<10; i++) {        JSONObject json = new JSONObject();        for(EMethod em : list) {            Method method = null;            Object param = null;            if(em.type == 0) {                method = clazz.getDeclaredMethod(em.name, int.class);                param = i;            } else {                method = clazz.getDeclaredMethod(em.name, long.class);                param = new Long(i);            }            if(!method.isAccessible())                method.setAccessible(true);            String name = em.name.substring(3);            Object value = null;            try {                value = method.invoke(tel, param);            } catch(Exception e) {                //前面已经对private设置了可访问,有些还是会报错,就不管这个了                continue;            }            json.put(name, value);        }        if(json.optInt("SimState") == TelephonyManager.SIM_STATE_UNKNOWN || json.optInt("SimState") == TelephonyManager.SIM_STATE_ABSENT)            continue;        String imsi = json.optString("SubscriberId");        if(imsi == null || imsi.length() == 0)            continue;        //根据imsi去重        boolean repeact = false;        for(int j=0; j

 

以下是查询出所有的信息:

{
    "NetworkTypeName":"UNKNOWN",
    "PhoneId":0,
    "PhoneType":1,
    "PhoneTypeFromNetworkType":1,
    "PhoneTypeFromProperty":1,
    "SubId":0,
    "CallState":0,
    "CdmaEriIconIndex":-1,
    "CdmaEriIconMode":-1,
    "CdmaEriText":"GSM nw, no ERI",
    "CurrentPhoneType":1,
    "DataNetworkType":13,
    "DeviceId":"865098038283330",
    "DeviceSoftwareVersion":"00",
    "EmergencyCallbackMode":false,
    "GroupIdLevel1":"ff",
    "Imei":"865098038283330",
    "Line1AlphaTag":"@@@@@@@@@@@@@@",
    "Line1Number":"+8613293849943",
    "LteOnCdmaMode":1,
    "Meid":"99001069328499",
    "Msisdn":"+8613293849943",
    "NetworkCountryIso":"cn",
    "NetworkOperator":"46001",
    "NetworkOperatorName":"中国联通",
    "NetworkType":13,
    "SimCountryIso":"cn",
    "SimOperator":"46001",
    "SimOperatorName":"中国联通",
    "SimOperatorNumeric":"46001",
    "SimSerialNumber":"83860112012832486267",
    "SimState":5,
    "SubscriberId":"460012889988497",
    "VoiceMailAlphaTag":"语音信箱",
    "VoiceMessageCount":0,
    "VoiceNetworkType":13
}

 

其中 Msisdn 跟 Line1Number 这两个是手机号码   SubId是卡槽id   卡1为0  卡2为1  

更多相关文章

  1. Android的SMS短消息格式和主要字段
  2. Android 查询字段
  3. android 联系人源码分析 新字段的添加流程
  4. Android中ps命令各字段的含义
  5. Android-->获取所有联系人以及所有的字段(联系人头像,邮箱,地址,
  6. android常用数据库字段描述

随机推荐

  1. PHP的文本到HTML转换器
  2. PHP接收到的$_POST数据里的邮箱符号@变成
  3. 测试一个字符串是否包含PHP中的单词?
  4. Codeigniter $ this-> input-> post()为空,
  5. php数字排序从mysql asc
  6. Symfony2 -从数据库中提取数据并以表单形
  7. php大转盘抽奖算法
  8. 如何区分socket.io聊天中的Symfony用户角
  9. ThinkPHP中的find和select的区别
  10. 社交登录实现的数据库结构?