How to find SubscriptionId by prompting sim selection?
SmsManager smsManager = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
smsManager = SmsManager.getSmsManagerForSubscriptionId();
}else{
smsManager = SmsManager.getDefault();
}`
subcription id needed inside getSmsManagerForSubscriptionId()
You can subscriptionManagerObj.getActiveSubscriptionInfoList()
to get subscriptionIds based on Sim Slot. Based on the documentation
Get the SubscriptionInfo(s) of the currently inserted SIM(s). The records will be sorted by getSimSlotIndex() then by 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();
}