我的代码在这里,它总是抛出空
TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String number = tm.getLine1Number();
我使用了许可
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
请给我准确的解决方案以获取电话号码。谢谢。
答案 0 :(得分:5)
此问题无法保证解决方案,因为电话号码并非物理存储在所有SIM卡上,也未从网络广播到手机。在一些需要物理地址验证的国家尤其如此,数字分配仅在事后发生。电话号码分配在网络上进行 - 并且可以在不更改SIM卡或设备的情况下进行更改(例如,这是支持移植的方式)。
参考:Programmatically obtain the phone number of the Android phone