检测 eSIM 和 SIM 卡

带有 SIM 卡和 eSIM 的 Android 设备在电话 API 中使用以下 ID,包括 TelephonyManagerSubscriptionManager

  • 订阅 ID:移动订阅的唯一 ID。
  • 逻辑插槽索引或 ID:引用逻辑 SIM 插槽的唯一索引。逻辑插槽 ID 从 0 开始,并根据设备上支持的活动插槽数量递增。例如,双 SIM 设备通常具有插槽 0 和插槽 1。如果设备有多个物理插槽,但仅支持一个活动插槽,则它将仅具有逻辑插槽 ID 0。
  • 物理插槽索引或 ID:引用物理 SIM 插槽的唯一索引。物理插槽 ID 从 0 开始,并根据设备上物理插槽的数量递增。这与设备具有的逻辑插槽数量不同,后者对应于设备能够使用的活动插槽数量。例如,在双 SIM 和单 SIM 模式之间切换的设备可能始终有两个物理插槽,但在单 SIM 模式下,它将只有一个逻辑插槽。
  • 卡 ID:用于识别 UiccCard 的唯一 ID。

A diagram of how IDs are used in a case with two logical slots and three physical slots

在上图中

  • 设备有两个逻辑插槽。
  • 物理插槽 0 中有一张带有活动配置文件的物理 UICC 卡。
  • 物理插槽 2 中有一张带有活动配置文件的 eUICC。
  • 物理插槽 1 当前未使用。

A diagram of how IDs are used in a case with three logical slots and two physical slots

在上图中

  • 设备有三个逻辑插槽。
  • 物理插槽 0 中有一张带有活动配置文件的物理 UICC 卡。
  • 物理插槽 1 中有一张 eUICC,其中下载了两个配置文件,这两个配置文件都使用 MEP(多启用配置文件)处于活动状态。

开放移动 API (OMAPI) 阅读器支持

在 Android 11 及更高版本中,开放移动 API (OMAPI) 支持检查具有以下标志的设备上的 eSE、SD 和 UICC 支持硬件

将这些值与 getSystemAvailableFeatures()hasSystemFeature() 结合使用以检查设备支持情况。