Android L和旧版双SIM卡设备中的TelephonyManager.getDeviceId()行为

时间:2017-02-15 06:53:30

标签: android telephonymanager dual-sim

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

谢谢!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

以简单的方式,IMEI / Device Id被标记为SIM卡插槽。

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

我们说 1号插槽的IMEI是:123456789012345

广告位2 的IMEI是:012500123456789

取决于方案,以下是telephonyManagerObj.getDeviceId()返回的值:

  1. 如果您没有任何SIM卡,该方法将返回插槽1的IMEI,即123456789012345
  2. 当你在插槽1中有SIM卡时,该方法将返回插槽1的IMEI,即123456789012345
  3. 当您在两个插槽中都有SIM卡时,该方法将返回插槽1的IMEI,即123456789012345
  4. 但是当您在插槽2中只有SIM卡时,该方法将返回插槽2的IMEI,即012500123456789
  5. 我发现在插槽1中错误插入SIM卡时,在一台设备上,该方法返回IMEI-SV