Android - 如何在未存储在SIM卡中时获取手机号码

时间:2011-04-01 20:55:52

标签: android

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

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

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

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

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

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

任何帮助将不胜感激:)

感谢

2 个答案:

答案 0 :(得分:1)

在那种情况下,我只需让用户输入他们的电话号码并对其进行缓存。

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

答案 1 :(得分:0)

希望没有这样的API存在,或者我预见到一些呼叫中心会试图出售无用的东西而整天打电话。