2

TelephonyManager.getDeviceId() 在 Android L 和较旧的双 SIM 卡设备中的行为是什么?我知道在 API 级别 23 (Android M) 中添加了 TelephonyManager.getDeviceId(int slotId) 以便我们可以指定从中检索 IMEI 的 SIM 插槽,但是在旧设备中呢?总是返回第一个插槽的 IMEI,还是不确定的?我找不到任何官方文档。

谢谢!

4

2 回答 2

0

根据我的经验,您会在较旧的设备上将 sim 配置为电话设置中呼叫的主要或默认 sim。因此,您不会总是获得第一个 SIM 卡插槽 IMEI。如果没有用于通话的默认 sim(总是询问选项),则返回第一个 sim 插槽 IMEI。

于 2018-02-15T12:33:16.410 回答
0

简单地说,IMEI/设备 ID 被标记到 sim 插槽。

对于双 SIM 卡手机,有三个 IMEI 值(每个插槽一个)和 IMEI-SV。

假设插槽 1的 IMEI 为:123456789012345

插槽 2的IMEI 为:012500123456789

根据不同的场景,telephonyManagerObj.getDeviceId() 的返回值如下:

  1. 当您没有任何 SIM 卡时,该方法将返回 slot1 的 IMEI,即 123456789012345
  2. 当您在插槽 1 中有 SIM 卡时,该方法将返回插槽 1 的 IMEI,即 123456789012345
  3. 当您在两个插槽中都有 SIM 卡时,该方法将返回 slot1 的 IMEI,即 123456789012345
  4. 但是当您只有在插槽 2 中有 SIM 卡时,该方法将返回插槽 2 的 IMEI,即 012500123456789
  5. 我发现在一台设备上,当我将 SIM 卡错误地插入插槽 1 时,该方法返回 IMEI-SV
于 2018-03-22T07:25:56.983 回答