我想从设备中获取一个eSIM电话号码。
我使用SubscriptionInfo类来获取电话号码,但它总是返回null。
SubscriptionManager subscriptionMgr = SubscriptionManager.from(context);
SubscriptionInfo subscriptionInfo = subscriptionMgr.getActiveSubscriptionInfoForSimSlotIndex(simIndex);
String phoneNumber = subscriptionInfo.getNumber()我还在Manifest文件中给出了权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>发布于 2019-12-19 22:00:07
您必须检查是否授予了权限。
public void getSIMNumber() {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
SubscriptionManager subscriptionManager = SubscriptionManager.from(mContext.getApplicationContext());
//TODO check if permission is Granted
List<SubscriptionInfo> subsInfoList = subscriptionManager.getActiveSubscriptionInfoList();
Log.d("Test", "Current list = " + subsInfoList);
for (SubscriptionInfo subscriptionInfo : subsInfoList) {
String number = subscriptionInfo.getNumber();
Log.d("Test", " Number is " + number);
}
}
}https://stackoverflow.com/questions/59404666
复制相似问题