2

我有一部双卡安卓手机。使用此解决方案,我检索了两个模拟人生的 IMEI 号码。

给定 IMEI 号码,我怎样才能找到每个 SIM 卡的电话号码?

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

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

4

4 回答 4

2

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

于 2013-07-08T07:08:55.767 回答
2

以编程方式获取安卓手机的电话号码

基本答案 - 无法获取您当前的电话号码。有些事情有时会奏效,但并非总是如此,也并非在所有运营商上都有效。

于 2013-07-08T07:11:08.803 回答
1

不,

Android 不支持双卡设备。

请参阅:检测双 SIM 卡 Android 手机中两张 SIM 卡的状态

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

您可以联系您的设备制造商,看看他们是否有 SDK 插件或允许您访问第二张 SIM 卡的东西。可能是一个 API,可以帮助您获得所需的结果。

虽然您可以通过使用此链接了解设备的状态是否为双卡Android : 检查手机是否为双卡

于 2013-07-08T07:32:05.457 回答
1

使用反射,我查看了方法,TelephonyManager发现了这个方法:int getLine1NumberGemini(int).

我试图调用它(getLine1NumberGemini(0)对于第一个 sim 和getLine1NumberGemini(1)第二个)。在这两种情况下,我都收到了一个空字符串。

但原因似乎是手机无法获取我的模拟市民的电话号码:

  1. TelephonyManager.getLine1Number()也返回空字符串。
  2. 当我在手机设置中打开“SIM卡管理”时,没有显示任何电话号码。
于 2013-07-08T18:22:57.103 回答