Как запросить выбор сима перед отправкой SMS в двух сим-телефонах с помощью менеджера SMS программно? - PullRequest
0 голосов
/ 07 мая 2018

Как найти SubscriptionId, предложив выбрать сим?

 SmsManager smsManager = null;
                   if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
                     smsManager = SmsManager.getSmsManagerForSubscriptionId();
                   }else{
                       smsManager = SmsManager.getDefault();
                   }`

идентификатор подписки необходим внутри getSmsManagerForSubscriptionId()

1 Ответ

0 голосов
/ 07 мая 2018

Вы можете subscriptionManagerObj.getActiveSubscriptionInfoList() получить подписные идентификаторы на основе слота Sim. На основании документации

Получить SubscriptionInfo (s) вставленной в данный момент SIM-карты. The записи будут отсортированы по getSimSlotIndex (), затем по getSubscriptionId ()

 SmsManager smsManager = null;
 if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {

    SubscriptionManager subscriptionManager = (SubscriptionManager)getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
    List<SubscriptionInfo> subscriptionInfoList=subscriptionManager.getActiveSubscriptionInfoList();
    int subId = subscriptionInfoList.get(0).getSubscriptionId();// change index to 1 if you want to get Subscrption Id for slot 1.
    smsManager = SmsManager.getSmsManagerForSubscriptionId(subId);

 }else{
      smsManager = SmsManager.getDefault();
 }
...