Не удалось получить данные SIM-карты (серийный номер Sim) для sim2 в телефоне Samsung Dual Android

Я пытаюсь получить сведения о sim-карте для sim 1 и sim 2 в двойном телефоне Samsung (Samsung Gt-S6802), я могу получить сведения для sim 1, но для sim 2 я получаю нулевое значение.

Я использую метод отражения Java, чтобы получить оба серийных номера Sim.

Я использовал этот учебник Android: проверьте, в телефоне две SIM-карты

Любезно, если вы знаете, как это сделать, дайте мне знать.

Спасибо


person Rayyidh    schedule 28.05.2014    source источник
comment
http://www.yogeshblogspot.com/getting-phone-numberimei-number-and-sim-card-id-in-android/ это может вам помочь   -  person Hybrid Developer    schedule 28.05.2014
comment
Являются ли два типа карт одинаковыми и могут ли они работать вместе? Я знаю, что при получении серийного номера sim-карты CDMA возникают некоторые проблемы. Есть ссылка (на китайском языке) cnblogs.com/xiaowenji /archive/2011/01/11/1933087.html   -  person twlkyao    schedule 28.05.2014
comment
@ ДмитрийИвановичМенделеев ссылка, которую вы мне прислали, не работает для телефонов с двумя SIM-картами, но спасибо, что поделились ссылкой   -  person Rayyidh    schedule 28.05.2014
comment
@twlkyao Я пробовал тестировать с другим двойным телефоном Samsung, с версией Android 4.0.3 он работает, но для этого конкретного устройства, которое я использую, он не работает, у него есть версия Android 2.3, он возвращает null для деталей sim 2.   -  person Rayyidh    schedule 28.05.2014


Ответы (1)


Если кто-то все еще интересуется ответом, только для API> = 22

// you may ignore TelephonyManager if you don't want to get the IMEI
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

SubscriptionManager subscriptionManager = SubscriptionManager.from(getApplicationContext());
List<SubscriptionInfo> subsList = subscriptionManager.getActiveSubscriptionInfoList();

for (SubscriptionInfo subscriptionInfo : subsList ) {
    // get IMEI
    int simSlotIndex = subscriptionInfo.getSimSlotIndex();
    String imei = telephonyManager.getImei(simSlotIndex);

    // get serial number
    String serialNumber = subscriptionInfo.getIccId();

    // get line number
    String lineNumber = subscriptionInfo.getNumber();
}
person Da_Pz    schedule 12.02.2018