检测 eSIM 和 SIM 卡

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

  • 订阅 ID:移动网络订阅的唯一 ID。
  • 逻辑插槽索引或 ID:引用逻辑 SIM 插槽的唯一索引。逻辑插槽 ID 从 0 开始,并根据设备支持的活动插槽数量递增。例如,双卡双待设备通常有插槽 0 和插槽 1。如果设备有多个物理插槽但仅支持一个活动插槽,则只有逻辑插槽 ID 0。
  • 物理插槽索引或 ID:引用物理 SIM 插槽的唯一索引。物理插槽 ID 从 0 开始,并根据设备上的物理插槽数量递增。这与设备拥有的逻辑插槽数量(对应于设备能够使用的活动插槽数量)不同。例如,在双卡模式和单卡模式之间切换的设备可能始终有两个物理插槽,但在单卡模式下只有一个逻辑插槽。
  • 卡 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(多重启用配置文件)处于活动状态。

Open Mobile API (OMAPI) 读取器支持

在 Android 11 及更高版本中,Open Mobile API (OMAPI) 支持使用以下标志检查设备上的 eSE、SD 和 UICC 支持硬件

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