如何从Android中的真实设备获取手机号码?

时间:2013-05-30 12:19:57

标签: java android

我已经看过关于这个问题的所有帖子,但还没有解决。我试图从TelephonyManager.getVoiceMailNumber(),getLine1Number()获取它但它将返回为“null”。

如果有任何其他方法可以帮助我解决它。

3 个答案:

答案 0 :(得分:0)

添加此权限。

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

答案 1 :(得分:0)

根据文档.getLine1Number()“返回第1行的电话号码字符串,例如 GSM 电话的 MSISDN 。如果是,则返回null不可用。“

显然.getLine1Number()从SIM卡读取此信息,因此如果操作员设置了MSISDN字段,它将返回其值,如果他们没有设置此字段,则返回null。

在您的情况下,您的SIM卡可能没有运营商填写此字段。

更多信息您可以Visit this

我是从here得到的。

答案 2 :(得分:0)

在阅读此静音时,我开始四处寻找有同样问题的人并找到this thread。看起来并非所有运营商/提供商都将MSISDN号码(电话号码)发送到您的手机(正如我之前已经指出的那样)。

如果您转到设置 - >关于 - >“电话身份”,您可能会发现SIM卡上是否有号码。就我而言,它说'未知'。