我想获得Android设备的电话号码.我用这个代码:
TelephonyManager tm = (TelephonyManager)this.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber= tm.getLine1Number();
Run Code Online (Sandbox Code Playgroud)
在我的手机上(HTC Wildfire),我无法获得电话号码 - 我得到的只是空字符串.如果我在emulatur上运行代码,通常会显示电话号码.
如果我转到设置=>关于电话=>电话身份 - >电话号码,电话号码是"未知".
问题出在哪儿?我的SIM卡有问题吗?
我有几个关于MSISDN的问题.我明白:
我需要进一步了解的是:
MSISDN号码是否在SIM卡中烧毁(存储)?如果是,是否所有提供商都确保SIM卡中有MSISDN信息?如果不是,需要澄清的是,没有编程代码可以获取MSISDN号码?
有些人建议按以下代码获取MSISDN.但如果未在设备中设置"我的电话号码",则两个代码都返回null.反过来,如果设置了它,它将返回"我的电话号码".因此,问题是:"我的电话号码"等于MSISDN?
TelephonyManager.getLine1Number(); - >适用于Android
Phone.getDevicePhoneNumber(true); - >黑莓手机
如上面的代码,返回字符串数据是从设备本身还是从SIM卡中获取的?