2012-08-09 165 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"/> 
相關問題