2013-05-30 88 views
0

我已经看到关于此问题的所有最多的所有帖子,但仍未解决。我尝试从TelephonyManager.getVoiceMailNumber(),getLine1Number()获取它,但它将返回为“null”。如何从android中的真实设备获取手机号码?

请帮我解决它,如果有其他方式来获得它。

+0

你可以得到,但不是在每个SIM卡。因为有些公司不提供它.. – Riser

回答

0

添加此权限。

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

雅我已经使用它。更多的我曾经获得IMEI号模拟器以及SIM卡没有,但试图找到手机号码。 –

0

根据文档.getLine1Number() “返回1号线的手机串号,例如MSISDNGSM电话。返回NULL,如果它是不可用的。”

显然.getLine1Number()从SIM卡读取这些信息,所以如果操作员设置了MSISDN字段,它将返回它的值,如果它们没有设置这个字段,则返回null。

在你的情况下,你的SIM卡可能没有这个字段填充的运营商。

欲了解更多信息您可以Visit this

我从here得到这个。

+0

感谢您的回复。好的,我怎么检查MSISDN?我检查了你提供的链接,并在我的电话中检查了电话 - >关于电话 - >状态 - >我的电话号码显示“未知”。 –

+0

@VilasmatiHanjagi所以你不能得到手机号码,因为SIM卡不包含手机号码 –

+0

好的,但我们可以得到它,一旦我们有SIM卡与有效的设置。不管怎样,谢谢! –

0

当读这个quiestion时,我开始环顾相同问题的人,发现this thread。看起来好像并非所有的运营商/提供商都会将MSISDN号码(电话号码)发送到您的手机(正如Segi之前已经指出的那样)。

如果您转到设置 - >关于 - >“手机身份”,您可能会发现SIM卡上是否有号码。在我的情况下,它说'未知“。

+0

现在我们可以得出结论,除非移动运营商/服务提供商将MSISDN设置为我们的SIM卡,否则我们无法获得手机号码。 –

相关问题