Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Menangani Kesalahan API eUICC

API eUICC memberikan kode kesalahan untuk membantu aplikasi dan pengguna memecahkan masalah terkait pengunduhan, pengaktifan, penonaktifan, dan penghapusan profil eSIM.

Penanganan kesalahan

Jika terjadi kesalahan saat memanggil API eUICC, callback maksud yang tertunda disediakan dan EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE digunakan sebagai kunci untuk mendapatkan kode kesalahan mendetail. Mulai dari Android 11, empat kunci dan nilai berikut disertakan dalam maksud yang dihasilkan:

Keempat nilai ini memungkinkan pemanggil API eUICC menangani kesalahan tertentu satu per satu. Berikut ini adalah contoh cara menangani kesalahan ini.

int operationCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE)
int errorCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE)
String smdxSubjectCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE)
String smdxReasonCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE)

if (operationCode == OPERATION_DOWNLOAD && errorCode == ERROR_CARRIER_LOCKED) {
  // handle specific error i.e tries to download but the device is carrier locked
} else if (operationCode == OPERATION_SMDX) {
  // handle all SM-DP+/SM-DS errors
} else if (errorCode == ERROR_TIME_OUT) {
  // handle all types of time out issues, regardless of operation.
} else if ("8.1".equals(smdxSubjectCode) && "3.1".equals(smdxReasonCode)) {
  // handle specific subject code and reason code: 8.1 and 4.1 means insufficient memory.
}

Operasi yang didukung dan kombinasi kode kesalahan

Tabel berikut menjelaskan kombinasi operasi yang didukung dan kode kesalahan yang dikembalikan dari asisten profil lokal (LPA).

Kombinasi kode operasi dan kesalahan
Kode operasi Kode kesalahan Deskripsi
OPERATION_SYSTEM Tak dapat diterapkan Terjadi kesalahan internal. Misalnya, utas terputus atau kesalahan IOException terjadi.
OPERATION_SIM_SLOT Tak dapat diterapkan Terjadi kesalahan internal saat menjalankan operasi slot SIM.
ERROR_TIME_OUT Waktu habis saat mencoba menjalankan operasi slot SIM.
ERROR_EUICC_MISSING Tidak ada eUICC yang tersedia atau aktif di perangkat.
OPERATION_EUICC_CARD Tak dapat diterapkan Terjadi kesalahan internal saat menjalankan operasi eUICC.
ERROR_UNSUPPORTED_VERSION Versi eUICC (chip) dan versi EuiccCard (perangkat lunak) tidak kompatibel.
ERROR_EUICC_MISSING Tidak ada kartu SIM yang tersedia di perangkat. Misalnya, LPA tidak dapat mendeteksi kartu SIM.
OPERATION_SMDX Tak dapat diterapkan Terjadi kesalahan internal saat menjalankan operasi SM-DP + / SM-DS.
ERROR_ADDRESS_MISSING Tidak ada alamat SM-DP + untuk mengunduh profil.
ERROR_INVALID_CONFIRMATION_CODE Terjadi kesalahan saat mengurai kode aktivasi (format tidak valid).
ERROR_CERTIFICATE_ERROR Keystore atau kesalahan sertifikat saat digunakan dalam koneksi TLS untuk verifikasi.
ERROR_NO_PROFILES_AVAILABLE Tidak ada profil yang tersedia dari SM-DP +.
ERROR_CONNECTION_ERROR Tidak dapat membuat koneksi ke server.
ERROR_INVALID_RESPONSE Tanggapan tidak valid dari server SM-DP + / SM-DS.
OPERATION_SWITCH Tak dapat diterapkan Terjadi kesalahan internal saat menjalankan operasi sakelar.
ERROR_CARRIER_LOCKED Tidak diizinkan untuk beralih profil karena perangkat dikunci oleh operator (SIM terkunci).
OPERATION_DOWNLOAD Tak dapat diterapkan Terjadi kesalahan internal saat melakukan operasi pengunduhan.
ERROR_DISALLOWED_BY_PPR Tabel Otorisasi Aturan di eUICC nol atau unduhan dilarang oleh aturan kebijakan profil.
ERROR_INVALID_ACTIVATION_CODE Terjadi kesalahan saat mengurai kode aktivasi (format tidak valid) atau mencoba mengunduh tanpa kode aktivasi.
ERROR_CARRIER_LOCKED Tidak diizinkan untuk mengunduh karena perangkat dikunci oleh operator (SIM terkunci).
ERROR_INCOMPATIBLE_CARRIER Operator ada dalam daftar hitam dan LPA tidak dapat mengunduh profil dari SM-DP + / SM-DS.
ERROR_OPERATION_BUSY Pengunduhan profil sedang berlangsung dan tidak ada tindakan lain yang dapat memicu perubahan status SIM yang diizinkan.
OPERATION_METADATA Tak dapat diterapkan Terjadi kesalahan internal saat menjalankan operasi metadata.
ERROR_INVALID_ACTIVATION_CODE Metadata langganan kosong atau kode aktivasi di dalam metadata langganan kosong atau tidak valid.
ERROR_INCOMPATIBLE_CARRIER Operator ada dalam daftar hitam dan LPA tidak dapat mengunduh profil operator ini dari SM-DP + / SM-DS.
OPERATION_EUICC_GSMA Tak dapat diterapkan Terjadi kesalahan internal saat menjalankan operasi GSMA eUICC.
ERROR_INSTALL_PROFILE Kesalahan dengan eUICC ketika mencoba memasang profil. Misalnya, profil sudah ada atau ICCID tidak cocok.
ERROR_EUICC_INSUFFICIENT_MEMORY Kesalahan dengan eUICC ketika mencoba memasang profil. Memori di eUICC tidak cukup.
ERROR_DISALLOWED_BY_PPR Kesalahan dengan eUICC saat mencoba memasang profil. Tidak diizinkan oleh aturan kebijakan profil.
OPERATION_APDU Tak dapat diterapkan Terjadi kesalahan internal saat menjalankan operasi APDU.
OPERATION_HTTP 1-999 Kode kesalahan adalah nilai kesalahan HTTP.
Kode operasi Kode subjek Kode alasan Deskripsi
OPERATION_SMDX_SUBJECT_REASON_CODE String berisi 3 digit yang dipisahkan oleh titik, tanpa nol di depannya. Misalnya, 8.1.1 . String berisi 3 digit yang dipisahkan oleh titik tanpa nol di depannya. Misalnya, 3.8 . SubjectCode [5.2.6.1] dan ReasonCode [5.2.6.2] dari GSMA (SGP.22 v2.2). Misalnya, SubjectCode 8.1.1 dan ReasonCode 3.8 berarti EID terikat ke perangkat lain.