我知道使用TelephonyManager
我们可以获得我们网络提供商的MNC和MCC,
TelephonyManager tel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String networkOperator = tel.getNetworkOperator();
if (networkOperator != null) {
int mcc = Integer.parseInt(networkOperator.substring(0, 3));
int mnc = Integer.parseInt(networkOperator.substring(3));
}
但我只能获取主要 sim 的 MNC 和 MCC 数据。我想知道是否有一种方法可以获取 Android 中设备的辅助 sim 的 mnc、mcc、lac 和 cellid。
在API 22之前,很难实现你想要的。
我相信在API 22之前,Android最初并不支持双SIM卡。因此,每个移动供应商都应该有自己的实现。也许,您应该获取他们的 API/SDK 并将它们包含到您的项目中。只有这样,您才能访问他们的 API。
从API22开始,我认为你可以使用SubscriptionManager
int mccSlot1 = -1;
int mccSlot2 = -1;
int mncSlot1 = -1;
int mncSlot2 = -1;
SubscriptionManager subManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
if(subManager.getActiveSubscriptionInfoCount() >= 1) {
mccSlot1 = subManager.getActiveSubscriptionInfo(0).getMcc();
mncSlot1 = subManager.getActiveSubscriptionInfo(0).getMnc();
}
if(subManager.getActiveSubscriptionInfoCount() >= 2) {
mccSlot2 = subManager.getActiveSubscriptionInfo(1).getMcc();
mncSlot2 = subManager.getActiveSubscriptionInfo(1).getMnc();
}
问题https://stackoverflow.com/a/32871156/4860513提到同样的 Android 限制。所以,我真的相信在 API22 之前使用纯 Android SDK 是不可能实现这一点的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)