2017-01-01 13 views
1

Я создаю приложение с минимальной версией sdk 16. Мой вопрос заключается в том, как получить имя перевозчика обоих носителей в двойном сим-телефоне.Как получить имя оператора от телефона с двумя сим-телефонами Android с уровнем API 16?

Я использовал этот код, но он dosenot работать с SDk v16

TelephonyManager telephonyManager = ((TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE)); 

А также я хочу, чтобы получить имя носителя в виде строки.

+1

Там не было никакой официальной поддержки SDK для двойного SIMs назад в уровне API 16. – CommonsWare

+0

Там должно быть каким-то образом? – Neil

+0

Приглашаем вас связаться с производителем устройства для вашего устройства и спросить их, есть ли у них собственный API для доступа к деталям обеих SIM-карт. – CommonsWare

ответ

0

SubscriptionManager доступен в API 22

использовать следующий код, чтобы получить имена носителей для двух SIM-карт телефон

SubscriptionManager subscriptionManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE); 
    List<String> carrierNames = new ArrayList<>(); 
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) { 
     List<SubscriptionInfo> subscriptionInfos = subscriptionManager.getActiveSubscriptionInfoList(); 
     for (int i = 0; i < subscriptionInfos.size(); i++) { 
      carrierNames.add(subscriptionInfos.get(i).getCarrierName().toString()); 
     } 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^