android双卡发短信SubId和SubscriptionId转换

android9.0发短信时传入的subId实际上是SubscriptionId。

使用双卡时如果传入的是SubId(或者PhoneId、SlotId,卡1为0,卡2为1)时就需要将subId转为SubscriptionId

转换方式

SubscriptionManager sManager = (SubscriptionManager) context.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
List mList = sManager.getActiveSubscriptionInfoList();
int subscriptionId = mList.get(subId).getSubscriptionId();

而需要使用subId时需要再转换回来

int subId = SubscriptionManager.getPhoneId(subscriptionId );

 

你可能感兴趣的:(android)