如何获得针对API的DUAL SIM设备的SIM序列号< 22?

时间:2017-12-15 21:26:44

标签: android reflection telephonymanager

我想在Android上以编程方式了解设备的 SIM序列号

经过互联网搜索后,我不得不为那些针对API的设备获取DUAL SIM(第二个插槽)序列号< 22

对于API> 22:

我可以使用

获取它
SubscriptionInfo infoSim1 = sManager.getActiveSubscriptionInfoForSimSlotIndex(0);
            SubscriptionInfo infoSim2 = sManager.getActiveSubscriptionInfoForSimSlotIndex(1);

对于API< 22:

案例1 - 单一SIM

我可以使用

获取它

TelephonyManager.getSimSerialNumber()

案例2 - 双SIM卡

Android没有为此提供任何方法。但是,如果我们知道确切的预测方法,我们可以使用反射得到它。例如,我们可以通过此方法获得 IMEI

telephonyInfo.imeiSIM1 = getDeviceIdBySlot(context, "getDeviceId", 0);
                telephonyInfo.imeiSIM2 = getDeviceIdBySlot(context, "getDeviceId", 1);

虽然它取决于供应商或制造商。

要获取我使用的SimSerialNumber -

telephonyInfo.imeiSIM1 = getDeviceIdBySlot(context, "getSimSerialNumber", 0);
                telephonyInfo.imeiSIM2 = getDeviceIdBySlot(context, "getSimSerialNumber", 1);

我无法获得 SIM序列号

我搜索了互联网,但无法找到SSN的方法。

0 个答案:

没有答案