2011-04-01 75 views
2

我想获取与SIM卡相关的手机号码。但我知道有些celular运营商不会将该号码存储到SIM卡中。Android - 如何获取未存储在SIM卡中的移动Nunber

因此,使用下面的代码将不会返回任何东西,

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

任何人都知道任何其他方式获得的手机号码?

也许某些使用SIM卡的IMSI检索号码的API,或者可能是手机号码存储在设备的存储器的某处。

一个绝望的方式可能是让某种请求,经营人或承运人,要求该IMSI的手机号码,我不知道:)

任何帮助将不胜感激:)

谢谢

+2

“所以使用下面的代码将不会返回任何东西” - 不仅如此,它可能会返回错误的值。例如,我的SIM返回SIM卡在另一个手机号码移入我的帐户之前约10分钟的电话号码。 – CommonsWare 2011-04-01 21:07:23

+0

@CommonsWare,你是什么意思?您是否意味着存储在SIM卡中的电话号码可以更改? – Pacerier 2014-11-21 09:10:17

+0

“您的意思是您的SIM卡中存储的电话号码可以更改吗?” - 好吧,我当然不能排除这一点。就我而言,我将现有号码移入我的帐户。 SIM卡对此一无所知 - 这一切都在运营商处理。 – CommonsWare 2014-11-21 23:15:10

回答

1

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

编辑点评 后我不是100%肯定,但有没有办法抓住存储在“关于手机”设置菜单中的电话号码?虽然这可能也会从SIM卡中获取电话号码,如果操作系统本身无法解决问题,那么您可能只需要解决不要在所有设备上抓取电话号码。我的电话号码未存储在我的SIM卡上,我的关于电话菜单看不到我的电话号码。

+0

我明白了,但我忘了说这不是一种选择,应用程序必须'收集'设备的IMEI,OS,SIM卡序列号,视频分辨率,音频信息等一些信息并发送它到服务器,没有'打扰'用户:) – 2011-04-01 21:14:23

+1

我可以得到该应用程序的名称,以便我可以记下从不安装它? PrivacySpy,或者更好的WeGiveAwayYourPersonalDataToAnyoneWhoPaysForit? :) – Ingo 2011-04-04 14:52:10

0

希望没有这样的API存在,否则我预见一些呼叫中心试图出售无用的东西整天被称为。

相关问题