如何根据IMEI编号找出SIM卡的电话号码?

时间:2013-07-08 07:03:51

标签: android

我有一款双卡双待Android手机。使用this solution我检索两个sims的IMEI号。

鉴于IMEI号码,我如何找出每个SIM卡的电话号码?

有方法getDeviceIdGemini(int slotId)getSimStateGemini(int slotId)可以找出IMEI号和每个sims的状态。

我正在寻找一种类似的方法来读取SIM卡的电话号码。

4 个答案:

答案 0 :(得分:2)

你做不到。电话号码不存储在SIM卡上,存储在运营商的服务器上。查找TelephonyManager.getSubscriberId(),这将为每个SIM提供唯一ID。

答案 1 :(得分:2)

Programmatically obtain the phone number of the Android phone

基本答案 - 无法获取您当前的电话号码。有些事情有时是有效的,但并非总是如此,而且并非所有承运人。

答案 2 :(得分:1)

没有

Android不支持双卡双待设备。

请参阅:Detect the status of two SIM cards in a dual-SIM Android phone

因为Android不支持多个SIM,至少来自SDK。

您可以与您的设备制造商联系,看看他们是否有SDK插件或允许您访问第二张SIM卡的内容。可以使用API​​来帮助您获得所需的结果。

虽然您可以使用此链接Android : Check whether the phone is dual SIM

查看设备的状态是否为Dual sim

答案 3 :(得分:1)

使用反射,我查看了TelephonyManager的方法并找到了这种方法:int getLine1NumberGemini(int)

我试图调用它(第一次使用getLine1NumberGemini(0),第二次使用getLine1NumberGemini(1))。在这两种情况下,我收到一个空字符串。

但其原因似乎是手机无法获取我的SIM卡的电话号码:

  1. TelephonyManager.getLine1Number()也会返回空字符串。
  2. 当我在手机设置中打开“模拟管理”时,不会显示电话号码。