Android实现string[0]返回设备主卡对应的ICCID号,string[1]返回设备副卡对应的ICCID号,若无副卡,返回空,完整代码展示
时间: 2024-03-01 14:51:28 浏览: 134
android读取主副卡imsi
获取 ICCID 号同样需要 READ_PHONE_STATE 权限。以下是实现 string[0] 返回设备主卡对应的 ICCID 号,string[1] 返回设备副卡对应的 ICCID 号,若无副卡则返回空的完整代码:
```java
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String[] iccids = new String[2];
iccids[0] = telephonyManager.getSimSerialNumber();
iccids[1] = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
List<SubscriptionInfo> subscriptionInfoList = SubscriptionManager.from(context).getActiveSubscriptionInfoList();
if (subscriptionInfoList != null && subscriptionInfoList.size() > 1) {
iccids[1] = subscriptionInfoList.get(1).getIccId();
}
}
return iccids;
```
注意:在 Android 5.1 之前,在设备中只有一张 SIM 卡的情况下,getSimSerialNumber() 方法返回的是主卡的 ICCID 号。在 Android 5.1 之后,getSimSerialNumber() 方法返回的是当前活动的 SIM 卡的 ICCID 号。
阅读全文