Как получить оба номера IMEI с мобильного телефона с двумя SIM-картами?

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

25
задан Filburt 9 August 2012 в 10:27
поделиться

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

И добавить разрешение на манифест.

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>  
1
ответ дан chandan kumar 9 August 2012 в 10:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: