Obsługa błędów interfejsu eUICC API

Interfejsy API eUICC podaj kody błędów, aby pomóc aplikacjom i użytkownikom w rozwiązywaniu problemów pobieranie, włączanie, wyłączanie i usuwanie profili eSIM.

Obsługa błędów

Jeśli podczas wywoływania interfejsu eUICC API wystąpi błąd, oczekujące wywołanie zwrotne intencji zostanie podane i EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE jest używany jako klucz do uzyskania szczegółowego kodu błędu. Od w Androidzie 11, te 4 klucze i wartości są zawarte w wynikowej intencji:

Te 4 wartości umożliwiają wywołującemu interfejs API eUICC obsługę określonych błędów poszczególne osoby. Poniżej pokazujemy, jak należy postępować w przypadku tych błędów.

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.
}

Obsługiwane kombinacje operacji i kodów błędu

W poniższej tabeli opisano obsługiwaną kombinację operacji i funkcji kodów błędów zwracanych przez asystenta profilu lokalnego (LPA).

Kombinacje kodów operacji i błędów
Kod operacji Kod błędu Opis
OPERATION_SYSTEM Nie dotyczy Wystąpił błąd wewnętrzny. Na przykład wątek został przerwany lub Wystąpił IOException błąd.
OPERATION_SIM_SLOT Nie dotyczy Podczas obsługi gniazda karty SIM wystąpił błąd wewnętrzny.
ERROR_TIME_OUT Przekroczono limit czasu podczas próby wykonania operacji w gnieździe SIM.
ERROR_EUICC_MISSING Na urządzeniu nie jest dostępna ani aktywna funkcja eUICC.
OPERATION_EUICC_CARD Nie dotyczy Podczas wykonywania operacji eUICC wystąpił błąd wewnętrzny.
ERROR_UNSUPPORTED_VERSION Wersja eUICC (układu) i EuiccCard (oprogramowania) nie są są zgodne.
ERROR_EUICC_MISSING Brak karty SIM w urządzeniu. Na przykład LPA nie może wykryć, kartę SIM.
OPERATION_SMDX Nie dotyczy Podczas wykonywania operacji SM-DP+/SM-DS wystąpił błąd wewnętrzny.
ERROR_ADDRESS_MISSING Brak adresu SM-DP+, aby pobrać profil.
ERROR_INVALID_CONFIRMATION_CODE Podczas analizowania kodu aktywacyjnego wystąpił błąd (nieprawidłowy format).
ERROR_CERTIFICATE_ERROR Błąd magazynu kluczy lub certyfikatu podczas używania połączenia TLS dla weryfikacji.
ERROR_NO_PROFILES_AVAILABLE Brak profili z SM-DP+.
ERROR_CONNECTION_ERROR Nie można utworzyć połączenia z serwerem.
ERROR_INVALID_RESPONSE Nieprawidłowa odpowiedź z serwera SM-DP+/SM-DS.
OPERATION_SWITCH Nie dotyczy Podczas wykonywania operacji przełączania wystąpił błąd wewnętrzny.
ERROR_CARRIER_LOCKED Nie można przełączyć profilu, ponieważ urządzenie jest zablokowane przez operatora (karta SIM) zablokowany).
OPERATION_DOWNLOAD Nie dotyczy Podczas pobierania pliku wystąpił błąd wewnętrzny.
ERROR_DISALLOWED_BY_PPR Tabela autoryzacji reguł w eUICC ma wartość null lub pobrane dane są jest niedozwolone przez regułę zasady dotyczącej profilu.
ERROR_INVALID_ACTIVATION_CODE Podczas analizowania kodu aktywacyjnego (nieprawidłowy format) wystąpił błąd lub bez kodu aktywacyjnego.
ERROR_CARRIER_LOCKED Nie można pobrać, ponieważ urządzenie jest zablokowane przez operatora (karta SIM) zablokowany).
ERROR_INCOMPATIBLE_CARRIER Operator jest na czarnej liście i LPA nie może pobrać profilu z SM-DP+/SM-DS,
ERROR_OPERATION_BUSY Trwa pobieranie profilu i nie ma innego działania, które może aktywować kartę SIM zmiany stanu są dozwolone.
OPERATION_METADATA Nie dotyczy Podczas wykonywania operacji na metadanych wystąpił błąd wewnętrzny.
ERROR_INVALID_ACTIVATION_CODE Metadane subskrypcji są puste lub kod aktywacyjny w tagu metadane subskrypcji są puste lub nieprawidłowe.
ERROR_INCOMPATIBLE_CARRIER Operator jest na czarnej liście i LPA nie może pobrać z profilu SM-DP+/SM-DS.
OPERATION_EUICC_GSMA Nie dotyczy Podczas wykonywania operacji eUICC GSMA wystąpił błąd wewnętrzny.
ERROR_INSTALL_PROFILE Podczas próby zainstalowania profilu wystąpił błąd eUICC. Przykładowo profil już istnieje albo identyfikator ICCID nie jest zgodny.
ERROR_EUICC_INSUFFICIENT_MEMORY Podczas próby zainstalowania profilu wystąpił błąd eUICC. Za mało pamięci eUICC.
ERROR_DISALLOWED_BY_PPR Podczas próby zainstalowania profilu wystąpił błąd eUICC. Niedozwolone przez reguły zasad dotyczących profilu.
OPERATION_APDU Nie dotyczy Podczas wykonywania operacji na karcie APDU wystąpił błąd wewnętrzny.
OPERATION_HTTP 1-999 Kod błędu jest wartością błędu HTTP.
Kod operacji Kod tematu Kod przyczyny Opis
OPERATION_SMDX_SUBJECT_REASON_CODE Ciąg zawiera 3 cyfry rozdzielone kropką, bez zer na początku. Dla: przykład: 8.1.1. Ciąg zawiera 3 cyfry rozdzielone kropką bez zer na początku. Dla: przykład: 3.8. SubjectCode[5.2.6.1] i ReasonCode[5.2.6.2] od organizacji GSMA (SGP.22 w wersji 2.2). Dla: np. SubjectCode o wartości 8.1.1 oraz ReasonCode 3.8 oznacza identyfikator EID są powiązane z innym urządzeniem.