2015-09-28 37 views
0

我需要确保SIM卡可以在指定设备中无需输入PIN的情况下使用,但是必须在其他设备中使用。 (正在使用的设备已根植,应用程序被安装为系统应用程序)在Android中获取SIM序列号

我想要识别SIM卡,并以编程方式输入引脚(如果已知/保存)。

我可以输入已知的PIN码,当需要时,但我有一个SIM识别问题。

我发现我无法在输入正确的PIN码之前拿到SIM序列号或用户ID。

我使用(与权限等)的方法:

TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
telephonyManager.getSimSerialNumber(); 

的事情是,此方法返回null,如果需要引脚和尚未进入。

我的问题是,如果有这种解决方法。 有没有可能? 是否有另一种方法?

想法和方法表示赞赏。 在此先感谢。

回答

0
TelephonyManager tm = (TelephonyManager) 
       getSystemService(Context.TELEPHONY_SERVICE); 
} 
String simID = tm.getSimSerialNumber(); 
String telNumber = tm.getLine1Number(); 
String IMEI = tm.getDeviceId(); 

权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

您的问题:

返回的电话号码是什么存储在SIM卡的MSISDN,这是不被一些运营商填补。如果在印度尝试Airtel,沃达丰。

+0

我知道MSISDN通常是空白的,但我相信序列号是静态的,应该始终在那里。我在这里错过了什么吗?谢谢 –