2012-08-09 14 views
25

Come posso ottenere entrambi i numeri IMEI da dual SIM mobile? Qualcuno può aiutarmi a risolvere questo problema.Come posso ottenere entrambi i numeri IMEI da dual SIM mobile?

Screenshot of a dual-SIM mobile phone

+0

IMEI è definito per un dispositivo non per una scheda SIM! Quindi la tua domanda non ha senso. Vedi wiki: http://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity –

+3

Una volta puoi controllare dual sim mobile. Ogni slot SIM ha un numero IMEI univoco. Ho controllato solo ora. – VenkaReddy

+2

I telefoni dual SIM sono piuttosto rari, ma credo che voi e io siamo sorpresi che ogni slot SIM abbia il proprio IMEI. Ad ogni modo, non vedo API pubbliche per gestire due SIM in Android, quindi probabilmente devi trovare alcune librerie specifiche del dispositivo. http://stackoverflow.com/questions/5255147/dual-sim-card-android –

risposta

3

Tutte le informazioni relative SIM # 2 (o qualsiasi altro allora di default SIM) è puramente produttore dipendente. Android non fornisce API per funzionalità multi-SIM. Le apis Android supportano solo lo slot predefinito della scheda SIM. È possibile contattare Micromax (produttore del dispositivo) se è in grado di fornire gli apis per supportare il proprio componente hardware.

-2

Forse si dovrebbe dare un'occhiata al seguente link: Android : Check whether the phone is dual SIM

+1

telephonyClass.getMethod ("getDefault", parametro) restituisce NullPointerException perché getMethod non supporta "getDefault" come parametro di input. – AKSiddique

+0

Gentile AKSiddique, questo metodo ha funzionato per me con l'API 16+, forse lo hai controllato con l'apice inferiore. – Sherzodbek

1

si può provare il seguente codice che vi aiuterà.

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(); 
} 

E aggiungere l'autorizzazione sul manifest.

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
Problemi correlati