如何获取手机号码android

时间:2016-03-30 02:57:11

标签: android

我使用此代码获取数字,但它给了我null

TelephonyManager tMgr = (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number(); 

2 个答案:

答案 0 :(得分:0)

可能并不总是返回手机号码。

让我解释一下这实际上是如何工作的:当您为新号码购买新的SIM卡时,提供商已经(虽然并非总是)在SIM卡中放置了一个手机号码(SIM卡确实有一点内存)。现在$("#myFilter").bind('blur', function (event) { window.alert("blur"); }); API尝试读取该数字。如果它可用,则返回数字。

现在,您可以获得没有与之关联的手机号码的SIM卡。示例 - 用于移植的新SIM(您在新SIM卡中使用以前的号码)。这些SIM卡上没有存储任何数字,因此TelephonyManager返回null。

现在,即使TelephonyManager返回一个数字,也不应该信任它是正确的。因为许多设备提供了编辑该号码的选项。

答案 1 :(得分:0)

要使用getLine1Number(),您需要READ_PHONE_STATEREAD_SMS权限。你可能会错过这一点。

请记住,如果电话号码字符串不可用,则会返回null