0

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

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

4

3 回答 3

0

添加此权限。

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>``
于 2013-05-30T12:22:58.160 回答
0

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

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

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

欲了解更多信息,您可以访问此

我从这里得到这个。

于 2013-05-30T12:23:03.377 回答
0

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

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

于 2013-05-30T13:19:12.603 回答