我想在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的方法。