eSIM と SIM カードを検出する

SIM カードと eSIM を備えた Android 搭載デバイスでは、テレフォニー API(TelephonyManagerSubscriptionManager など)で次の ID を使用します。

  • サブスクリプション ID: モバイル サブスクリプションの一意の ID です。
  • 論理スロット インデックスまたは ID: 論理 SIM スロットを参照する一意のインデックス。 論理スロット ID は 0 から始まり、デバイスでサポートされるアクティブ スロットの数に応じて増えます。たとえば、デュアル SIM デバイスには通常、スロット 0 とスロット 1 があります。デバイスに複数の物理スロットがあり、1 つのアクティブ スロットしかサポートしていない場合、論理スロット ID は 0 のみになります。
  • 物理スロット インデックスまたは ID: 物理 SIM スロットを指す一意のインデックス。 物理スロット ID は 0 から始まり、デバイスの物理スロット数に応じて増えます。これは、デバイスにある論理スロットの数とは異なります。つまり、デバイスが使用できるアクティブなスロットの数に相当します。たとえば、デュアル SIM モードとシングル SIM モードを切り替えるデバイスは、物理スロットが常に 2 つある場合でも、シングル SIM モードでは論理スロットが 1 つだけになります。
  • カード ID: UiccCard を識別するために使用される一意の ID。

2 つの論理スロットと 3 つの物理スロットがある場合の ID の使用方法

上の図について説明します。

  • デバイスには論理スロットが 2 つあります。
  • 物理スロット 0 には、アクティブなプロファイルを持つ物理 UICC カードがあります。
  • 物理スロット 2 には、アクティブなプロファイルを持つ eUICC があります。
  • 物理スロット 1 は現在使用されていません。

3 つの論理スロットと 2 つの物理スロットがある場合の ID の使用方法

上の図について説明します。

  • デバイスには論理スロットが 3 つあります。
  • 物理スロット 0 には、アクティブなプロファイルを持つ物理 UICC カードがあります。
  • 物理スロット 1 には eUICC があり、ダウンロードされた 2 つのプロファイルがあり、どちらも MEP(複数の有効なプロファイル)を使用してアクティブになっています。

Open Mobile API(OMAPI)リーダーのサポート

Android 11 以降では、Open Mobile API(OMAPI)は以下のフラグを持つデバイス上の eSE、SD、UICC サポート ハードウェアのチェックをサポートしています。

これらの値を getSystemAvailableFeatures() または hasSystemFeature() とともに使用して、デバイスがサポートされているかどうかを確認します。