我有一款双卡双待Android手机。使用this solution我检索两个sims的IMEI号。
鉴于IMEI号码,我如何找出每个SIM卡的电话号码?
有方法getDeviceIdGemini(int slotId)
和getSimStateGemini(int slotId)
可以找出IMEI号和每个sims的状态。
我正在寻找一种类似的方法来读取SIM卡的电话号码。
答案 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来帮助您获得所需的结果。
查看设备的状态是否为Dual sim答案 3 :(得分:1)
使用反射,我查看了TelephonyManager
的方法并找到了这种方法:int getLine1NumberGemini(int)
。
我试图调用它(第一次使用getLine1NumberGemini(0)
,第二次使用getLine1NumberGemini(1)
)。在这两种情况下,我收到一个空字符串。
但其原因似乎是手机无法获取我的SIM卡的电话号码:
TelephonyManager.getLine1Number()
也会返回空字符串。