我应该使用哪些命令才能从Android手机获取SIM卡号码? 探索我找到的电话拨号器样本" PhoneDialerService.GetCarrier"但无法获得手机的电话号码。
答案 0 :(得分:2)
如果设备仅使用一张SIM卡:
TelephonyManager phoneManager = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = phoneManager.getLine1Number();
如果设备使用两张或更多SIM卡,请使用:
TelephonyManager phoneManager = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String simSerialNumber = phoneManager.getSimSerialNumber();
不要忘记许可:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
请注意,没有任何保证的解决方案。这在每个设备/国家/地区都不起作用(可能会返回null),因为所有SIM卡上都没有电话号码。最佳解决方案是要求用户输入他/她的电话号码并存储,并询问是否移植/更改了号码。