2012-08-09 128 views
25

如何从双SIM卡手机中获得两个IMEI号码?任何人都可以帮助我解决这个问题。如何从双SIM卡手机中获得两个IMEI号码?

Screenshot of a dual-SIM mobile phone

+0

IMEI是为非SIM卡设备定义的!所以你的问题没有意义。查看维基百科:http://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity – 2012-08-09 10:03:31

+3

有一次你可以检查双SIM卡手机。每个SIM插槽都有一个唯一的IMEI号码。我刚才检查过。 – VenkaReddy 2012-08-09 10:07:55

+2

双卡手机非常少见,但我相信你和我很惊讶每个SIM插槽都有自己的IMEI。无论如何,我没有看到公共API在Android中处理两个SIM卡,所以可能你必须找到一些设备特定的库。 http://stackoverflow.com/questions/5255147/dual-sim-card-android – 2012-08-09 10:20:50

回答

3

关于SIM#2(或任何其他然后默认SIM)的任何信息是纯粹的制造商相关的。 Android不提供多SIM卡设施的API。 Android apis仅支持默认的SIM卡插槽。您可以联系Micromax(设备制造商),如果他可以为您提供支持其硬件组件的apis。

-2

也许你应该看看下面的链接: Android : Check whether the phone is dual SIM

+1

telephonyClass.getMethod(“getDefault”,参数)返回NullPointerException,因为getMethod不支持将“getDefault”作为输入参数。 – AKSiddique 2016-10-22 07:34:57

+0

亲爱的AKSiddique,这个方法适用于我的api level 16+,也许你用低api来检查它。 – Sherzodbek 2016-11-21 11:52:34

1

你可以试试下面的代码它会帮助你。

TelephonyManager manager= (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
try { 
    Class<?> telephonyClass = Class.forName(manager.getClass().getName()); 
    Class<?>[] parameter = new Class[1]; 
    parameter[0] = int.class; 
    Method getFirstMethod = telephonyClass.getMethod("getDeviceId", parameter); 
    Log.d("SimData", getFirstMethod.toString()); 
    Object[] obParameter = new Object[1]; 
    obParameter[0] = 0; 
    String first = (String) getFirstMethod.invoke(manager, obParameter); 
    Log.d("IMEI ", "first :" + first); 
    obParameter[0] = 1; 
    String second = (String) getFirstMethod.invoke(manager, obParameter); 
    Log.d("IMEI ", "Second :" + second); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

并在menifest上添加权限。

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
相关问题