【问题标题】:Android - How to get the mobile nunber when not stored in the SIM cardAndroid - 未存储在 SIM 卡中时如何获取手机号码
【发布时间】:2011-07-27 23:41:29
【问题描述】:

我想获取与 SIM 卡相关的手机号码。但我知道有些手机运营商不会将号码存储到 SIM 卡中。

所以使用下面的代码不会返回任何东西,

TelephonyManager tm = (TelephonyManager)this.getApplicationContext()
                                            .getSystemService(Context.TELEPHONY_SERVICE); 
String phoneNumber =  tm.getLine1Number();

有谁知道其他获取手机号码的方法吗?

可能是某些 API 使用 SIM 卡的 IMSI 检索号码,或者手机号码可能存储在设备内存中的某个位置。

一种绝望的方法可能是向运营商或运营商提出某种要求,要求提供该 IMSI 的手机号码,我不知道 :)

任何帮助将不胜感激:)

谢谢

【问题讨论】:

  • “所以使用下面的代码不会返回任何东西”——不仅如此,它还可能返回错误的值。例如,我的 SIM 卡返回一个电话号码,该电话号码在另一个手机号码被移植到我的帐户之前大约 10 分钟。
  • @CommonsWare,这是什么意思?您的意思是您存储在 SIM 卡中的电话号码可以更改吗?
  • “你的意思是你存储在 SIM 卡中的电话号码可以改变吗?” ——嗯,我当然不能排除这种可能性。就我而言,我将现有号码移植到我的帐户中。 SIM 卡对此一无所知——这一切都由运营商处理。

标签: android


【解决方案1】:

在那种情况下,我只会让用户输入他们的电话号码并缓存它。

评论后编辑 我不是 100% 确定,但有没有办法获取存储在“关于电话”设置菜单中的电话号码?尽管这也可能会从 SIM 卡中获取电话号码,并且如果操作系统本身无法识别,您可能不得不接受不获取所有设备上的电话号码。我的电话号码未存储在我的 SIM 卡上,我的关于电话菜单无法看到我的电话号码。

【讨论】:

  • 我明白了,但我忘了说这不是一个选项,应用程序必须“收集”一些信息,如 IMEI、操作系统、SIM 卡序列号、视频分辨率、音频信息等。 .. 设备并将其发送到服务器,而不会“打扰”用户:)
  • 我能得到那个应用程序的名称,以便我可以记下永远不要安装它吗? PrivacySpy 或者更好的 WeGiveAwayYourPersonalDataToAnyoneWhoPaysForit 怎么样? :)
【解决方案2】:

希望不存在这样的 API,否则我预见到一些呼叫中心会整天打电话给他们,试图出售无用的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 2022-08-24
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 2014-05-05
    相关资源
    最近更新 更多