Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android L和旧双SIM设备中的TelephonyManager.getDeviceId()行为_Android_Telephonymanager_Dual Sim - Fatal编程技术网

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

Android L和旧双SIM设备中的TelephonyManager.getDeviceId()行为,android,telephonymanager,dual-sim,Android,Telephonymanager,Dual Sim,Android L和更早的双SIM设备中TelephonyManager.getDeviceId()的行为是什么?我知道在API级别23(Android M)中添加了TelephonyManager.getDeviceId(int slotId),以便我们可以指定从哪个SIM插槽检索IMEI,但在旧设备中又如何呢?第一个插槽中的IMEI是否总是返回,还是不确定?我找不到这方面的任何官方文件 谢谢 根据我的经验,您可以在较旧的设备上使用手机设置中配置为主要或默认sim卡的sim卡。因此,您不会总是

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


谢谢

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

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

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

假设插槽1的IMEI为:123456789012345

插槽2的IMEI为:012500123456789

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

  • 当您没有任何SIM卡时,该方法将返回slot1的IMEI,即123456789012345
  • 当您的SIM卡位于插槽1中时,该方法将返回插槽1的IMEI,即123456789012345
  • 当两个插槽中都有SIM卡时,该方法将返回插槽1的IMEI,即123456789012345
  • 但当您的SIM卡仅位于插槽2中时,该方法将返回插槽2中的IMEI,即012500123456789
  • 我发现在一台设备上,当我将SIM卡错误地插入插槽1时,该方法返回IMEI-SV