【发布时间】: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