当我想要获取电话号码时,手机会返回空白状态

时间:2015-04-24 11:13:24

标签: android android-permissions

当我想获取电话号码时,有些手机会返回null。在其他手机中我收到了电话号码。 当设置 - >时会发生这种情况。关于手机 - >状态 - >我的电话号码是“Unkow”。没有在那里写电话号码。

为什么会这样?我怎样才能获得电话号码?

代码:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

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

3 个答案:

答案 0 :(得分:1)

您的代码非常适合获取Android设备的电话号码。它会返回您的号码。但有时它会为您提供空值,因为设备服务提供商未授予此权限。

意味着它的工作原理如下:Android设备请求SIM卡/服务提供商提供有关电话号码的卡信息。作为回应,一些提供商已经返回了用户的电话号码,有些人拒绝这样做。

答案 1 :(得分:0)

您能澄清一下您具体要求的具体内容吗?如果你说在手机的设置中,在关于手机 - &gt;状态 - &gt;我的手机号码下,它会显示&#34;未知&#34;,那么不幸的是,&#39; ;这不是编程问题,也不是问题。是这样的吗?

答案 2 :(得分:0)

您无法以任何方式获取设备电话号码。它取决于服务提供商,有些可能允许访问,有些可能不会,因为它完全依赖于网络访问权限。但在极少数情况下,一旦用户使用SIM卡提供商配置了自己的手机号码,您就会获得电话号码。另一种方法是通过从Facebook获取数字,用户应该注册他们的手机号码,而早期版本的whatsapp提供此功能,但它与新的功能不兼容。

注意:它适用于几个提供访问权限的自定义电话(即,仅与特定网络提供商同步的电话)