导入一个包:
import android.telephony.SubscriptionManager;
声明变量:
SubscriptionManager mSubscriptionManager = SubscriptionManager.from(mContext);
int simNumberCard = mSubscriptionManager.getActiveSubscriptionInfoCount();//获取当前sim卡数量
该方法的时候可以有效的获取sim卡槽对应的sim卡信息。因为我们会发现使用telephonyManager也是可以获取到相应的信息,但是不好控制。例如你想获取ID:1的sim卡信息 有可能 卡槽2 的信息也有可能是卡槽1的信息。
public String getSimName(int phoneId) {
mSubInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
for (SubscriptionInfo info : mSubInfoList) {
if (null != info && phoneId == info.getSimSlotIndex() &&
null != info.getDisplayName() && !"".equals(info.getDisplayName())) {
return info.getDisplayName().toString();
}
}
return "";
}