对于Lollipop MR1 announced,SubscriptionManager及其SubscriptionInfo提供了有关所有(有效)SIM的大量信息,但我错过了他们的IMEI。
我得到有关此类SIM卡的信息:
SubscriptionManager sm = SubscriptionManager.from(context);
List<SubscriptionInfo> sil = sm.getActiveSubscriptionInfoList();
if (sil != null) {
for (SubscriptionInfo subInfo : sil) {
Log.d(TAG, "SubInfo:" + subInfo);
}
} else {
Log.d(TAG, "SubInfo: list is null");
}
我是否遗漏了某些内容,或者我们仍然只能通过telephonyManager.getDeviceId()
获取IMEI(仅限第一张SIM卡)?
答案 0 :(得分:2)
方法
public String getDeviceId(int slotId)
在API 23中的TelephonyManager
下可用。slotId
只是从0到SIM数量的数字 - 1.
在API 22中,存在相同的方法但隐藏了。你需要使用反射来调用它。
答案 1 :(得分:0)
IMEI用于识别设备,而非SIM卡。因此,您只能通过telephonyManager.getDeviceId()
获取IMEI。
更新:事实证明我错了,设备可以为每张SIM卡配备IMEI。我在StackOverflow中找到了这个可以帮助你的答案。