Mendeteksi eSIM dan kartu SIM

Perangkat Android dengan kartu SIM dan eSIM menggunakan ID berikut dalam API telepon, termasuk TelephonyManager dan SubscriptionManager:

  • ID Berlangganan: ID unik untuk berlangganan seluler.
  • Indeks slot logis atau ID: indeks unik yang merujuk pada slot SIM logis. ID slot logis dimulai dari 0 dan naik, bergantung pada jumlah slot aktif yang didukung pada perangkat. Misalnya, perangkat SIM ganda biasanya memiliki slot 0 dan slot 1. Jika perangkat memiliki beberapa slot fisik tetapi hanya mendukung satu slot aktif, perangkat tersebut hanya akan memiliki ID slot logis 0.
  • Indeks atau ID slot fisik: indeks unik yang mengacu pada slot SIM fisik. ID slot fisik dimulai dari 0 dan naik, bergantung pada jumlah slot fisik pada perangkat. Jumlah slot logis yang dimiliki perangkat berbeda dengan jumlah slot aktif yang dapat digunakan oleh perangkat. Misalnya, perangkat yang beralih antara mode SIM ganda dan SIM tunggal mungkin selalu memiliki dua slot fisik, tetapi dalam mode SIM tunggal, perangkat hanya akan memiliki satu slot logis.
  • ID Kartu: ID unik yang digunakan untuk mengidentifikasi UiccCard.

Diagram tentang bagaimana ID digunakan dalam sebuah kasus dengan dua slot logis dan tiga slot fisik

Dalam diagram sebelumnya:

  • Perangkat ini memiliki dua slot logis.
  • Di slot fisik 0 ada kartu UICC fisik dengan profil aktif.
  • Di slot fisik 2 terdapat eUICC dengan profil aktif.
  • Slot fisik 1 saat ini tidak digunakan.

Diagram tentang bagaimana ID digunakan dalam sebuah kasus dengan tiga slot logis dan dua slot fisik

Dalam diagram sebelumnya:

  • Perangkat ini memiliki tiga slot logis.
  • Di slot fisik 0 ada kartu UICC fisik dengan profil aktif.
  • Di slot fisik 1 terdapat eUICC yang memiliki dua profil yang didownload, keduanya aktif menggunakan MEP (Multiple Enabled Profiles).

Dukungan pembaca Open Mobile API (OMAPI)

Di Android 11 dan yang lebih tinggi, Open Mobile API (OMAPI) mendukung pemeriksaan hardware dukungan eSE, SD, dan UICC di perangkat dengan tanda berikut:

Gunakan nilai ini dengan getSystemAvailableFeatures() atau hasSystemFeature() untuk memeriksa dukungan perangkat.