我想获得Android设备的电话号码.我用这个代码:
TelephonyManager tm = (TelephonyManager)this.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber= tm.getLine1Number();
Run Code Online (Sandbox Code Playgroud)
在我的手机上(HTC Wildfire),我无法获得电话号码 - 我得到的只是空字符串.如果我在emulatur上运行代码,通常会显示电话号码.
如果我转到设置=>关于电话=>电话身份 - >电话号码,电话号码是"未知".
问题出在哪儿?我的SIM卡有问题吗?
我正在尝试使用以下代码读取设备的电话号码.当电话号码不可用时,我会读取订阅者ID.它适用于某些手机,并在某些设备中抛出NULL指针异常.设备日志显示我在以下行中获得NULL指针异常
if(MyPhoneNumber.equals(""))
Run Code Online (Sandbox Code Playgroud)
请让我知道如何使它在所有设备上运行.
TelephonyManager tMgr =(TelephonyManager)ShowMyLocation.this.getSystemService(Context.TELEPHONY_SERVICE);
String MyPhoneNumber = tMgr.getLine1Number();
if(MyPhoneNumber.equals(""))
MyPhoneNumber = tMgr.getSubscriberId();
Run Code Online (Sandbox Code Playgroud)