Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我可以检索当前的电话号码吗?_Android - Fatal编程技术网

Android 我可以检索当前的电话号码吗?

Android 我可以检索当前的电话号码吗?,android,Android,我正在为Android(2.1+)编写一个应用程序,我想使用当前手机的电话号码。大量的谷歌搜索给我带来了以下信息: String number=(TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE).getLine1Number(); 还有许可:阅读、电话、状态 然而,我的问题是它返回null。在搜索时,我注意到这个问题以前被问过很多次,几乎所有这些问题都说这个数字并不总是可用的

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

String number=(TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE).getLine1Number();
还有许可:阅读、电话、状态

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

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


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

你可以查看本教程了解更多信息

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

正如我所读到的,到目前为止,一些人对不同的观点存在冲突 输出的行为。有报道说一些模拟市民造成了这种情况 方法返回null

因为这个问题没有保证的解决方案,因为手机 并非所有SIM卡上都物理存储该号码,也不是从 网络连接到电话。在一些国家尤其如此 这需要物理地址验证,并带有数字分配 只是后来发生的


嗯,我想出了另一种方法来检索电话号码(在我的情况下,这确实是一个绝对必须拥有的)

  • 应用程序必须连接到服务器
  • 服务器为应用程序提供唯一的id和电话号码
  • 应用程序会向具有唯一id的电话号码发送一条短信
  • 服务器(我有没有提到短信网关应该允许您解读短信?)将看到发送短信的号码和属于应用程序的id。这将存储在数据库中
  • 现在,您将拥有使用标识符检索号码的方法

  • 这是最基本的想法。

    我同意这个答案,当你找不到他们的电话号码时,为什么不直接向用户询问呢?