繁体   English   中英

我可以找回当前的电话号码吗?

[英]Can I retrieve the current telephone number?

我正在为Android(2.1+)编写一个应用程序,我想使用当前手机的电话号码。 大量的谷歌搜索带给我以下内容:

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

连同许可:READ_PHONE_STATE。

但是我的问题是它返回null。 在搜索时,我注意到这个问题之前已经被问过很多次了,并且几乎在所有这些问题中都说这个数字并不总是可用。

在测试时,我发现在我自己的手机上,它使我为零。 但是另一个应用程序(例如WhatsApp )能够识别我的电话号码。

所以我想知道,他们是怎么做到的?

您可以查看本教程,了解如何以编程方式获取自己的手机号码

请阅读我在下面的教程中写的所有信息

如我所读,到目前为止,有些人对不同的输出行为存在冲突。 有报告说某些SIM卡导致此方法返回null。

因为不能完全解决此问题,因为电话号码并非物理存储在所有SIM卡上,也不是从网络广播到电话中。 在某些需要物理地址验证的国家中尤其如此,编号分配仅在此之后进行。

好吧,我想出了另一种方法来检索电话号码(在我看来,这是绝对必要的)。

  1. 该应用程序必须连接到服务器。
  2. 服务器为该应用程序提供唯一的ID和电话号码。
  3. 该应用程序向具有唯一ID的电话号码发送短信。
  4. 服务器(我是否提到过SMS网关是否应该允许您解释短信?)将看到发送短信的号码和属于该应用程序的ID。 这存储在数据库中。
  5. 现在,您将可以使用标识符检索号码。

这是基本思想。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM