2012-08-09 11 views
25

Jak uzyskać oba numery IMEI z telefonu komórkowego z dwoma kartami SIM? Czy ktoś może mi pomóc rozwiązać ten problem.Jak mogę uzyskać oba numery IMEI z podwójnej karty SIM?

Screenshot of a dual-SIM mobile phone

+0

Numer IMEI jest zdefiniowany dla urządzenia niezgodnego z kartą SIM! Twoje pytanie nie ma sensu. Zobacz wiki: http://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity –

+3

Kiedy możesz sprawdzić dual sim mobile. Każde gniazdo sim ma unikalny numer IMEI. Sprawdziłem właśnie teraz. – VenkaReddy

+2

Telefony Dual SIM są dość rzadkie, ale wierzę, że jesteście i jestem zaskoczony, że każde gniazdo SIM ma własny IMEI. W każdym razie nie widzę publicznego interfejsu API do obsługi dwóch kart SIM w systemie Android, więc prawdopodobnie musisz znaleźć jakieś specyficzne dla urządzenia biblioteki. http://stackoverflow.com/questions/5255147/dual-sim-card-android –

Odpowiedz

3

Wszelkie informacje dotyczące SIM # 2 (lub dowolny inny wtedy domyślnie SIM) jest zależny wyłącznie producent. Android nie udostępnia interfejsów API dla funkcji wielu kart SIM. Android apis obsługuje tylko domyślne gniazdo karty SIM. Możesz skontaktować się z Micromax (producentem urządzenia), jeśli może on dostarczyć ci apis do obsługi swojego sprzętu.

-2

Może warto przyjrzeć się poniższym linku: Android : Check whether the phone is dual SIM

+1

Parametr telephonyClass.getMethod ("getDefault") zwraca wyjątek NullPointerException, ponieważ getMethod nie obsługuje "getDefault" jako parametru wejściowego. – AKSiddique

+0

Drodzy AKSiddique, ta metoda zadziałała dla mnie z api poziomem 16+, być może sprawdziłeś to z niższym api. – Sherzodbek

1

można spróbować następujący kod będzie pomóc.

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

I dodaj pozwolenie na menifest.

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
Powiązane problemy