eUICC API-Fehler verarbeiten

Die eUICC APIs enthalten Fehlercodes, die Apps und Nutzern bei der Behebung von Problemen beim Herunterladen, Aktivieren, Deaktivieren und Löschen von eSIM-Profilen helfen.

Fehler behandeln

Wenn beim Aufrufen der eUICC API ein Fehler auftritt, wird ein Pending Intent-Callback bereitgestellt und EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE wird als Schlüssel zum Abrufen des detaillierten Fehlercodes verwendet. Ab Android 11 sind die folgenden vier Schlüssel und Werte in der resultierenden Intent-Anfrage enthalten:

Mit diesen vier Werten kann der Aufrufer der eUICC API bestimmte Fehler individuell verarbeiten. Im folgenden Beispiel wird gezeigt, wie Sie mit diesen Fehlern umgehen.

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

Unterstützte Kombinationen von Operationen und Fehlercodes

In der folgenden Tabelle werden die unterstützten Kombinationen von Vorgangs- und Fehlercodes beschrieben, die vom lokalen Profilassistenten (LPA) zurückgegeben werden.

Vorgangs- und Fehlercode-Kombinationen
Vorgangscode Fehlercode Beschreibung
OPERATION_SYSTEM Nicht zutreffend Es ist ein interner Fehler aufgetreten. Beispielsweise wurde der Thread unterbrochen oder es ist ein IOException-Fehler aufgetreten.
OPERATION_SIM_SLOT Nicht zutreffend Bei einem SIM-Slot-Vorgang ist ein interner Fehler aufgetreten.
ERROR_TIME_OUT Zeitüberschreitung beim Ausführen eines SIM-Slot-Vorgangs.
ERROR_EUICC_MISSING Auf dem Gerät ist keine eUICC verfügbar oder aktiv.
OPERATION_EUICC_CARD Nicht zutreffend Bei der Ausführung eines eUICC-Vorgangs ist ein interner Fehler aufgetreten.
ERROR_UNSUPPORTED_VERSION Die eUICC-Version (Chip) und die EuiccCard-Version (Software) sind nicht kompatibel.
ERROR_EUICC_MISSING Im Gerät ist keine SIM-Karte vorhanden. Beispielsweise kann die LPA die SIM-Karte nicht erkennen.
OPERATION_SMDX Nicht zutreffend Bei der Ausführung eines SM-DP+/SM-DS-Vorgangs ist ein interner Fehler aufgetreten.
ERROR_ADDRESS_MISSING Keine SM-DP+-Adresse zum Herunterladen des Profils.
ERROR_INVALID_CONFIRMATION_CODE Beim Parsen des Aktivierungscodes ist ein Fehler aufgetreten (ungültiges Format).
ERROR_CERTIFICATE_ERROR Schlüsselspeicher- oder Zertifikatsfehler bei Verwendung in einer TLS-Verbindung zur Überprüfung.
ERROR_NO_PROFILES_AVAILABLE Keine Profile von SM-DP+ verfügbar.
ERROR_CONNECTION_ERROR Verbindung zum Server kann nicht hergestellt werden.
ERROR_INVALID_RESPONSE Ungültige Antwort vom SM-DP+/SM-DS-Server.
OPERATION_SWITCH Nicht zutreffend Bei der Ausführung eines Schaltvorgangs ist ein interner Fehler aufgetreten.
ERROR_CARRIER_LOCKED Profilwechsel nicht zulässig, da das Gerät vom Mobilfunkanbieter gesperrt ist (SIM-Sperre).
OPERATION_DOWNLOAD Nicht zutreffend Beim Ausführen eines Downloadvorgangs ist ein interner Fehler aufgetreten.
ERROR_DISALLOWED_BY_PPR Die Tabelle „Rules Authorization Table“ (Tabelle für die Autorisierung von Regeln) auf der eUICC ist null oder der Download wird durch die Regel der Profilrichtlinie untersagt.
ERROR_INVALID_ACTIVATION_CODE Beim Parsen des Aktivierungscodes (ungültiges Format) oder beim Download ohne Aktivierungscode ist ein Fehler aufgetreten.
ERROR_CARRIER_LOCKED Der Download ist nicht zulässig, da das Gerät vom Mobilfunkanbieter gesperrt ist (SIM-Sperre).
ERROR_INCOMPATIBLE_CARRIER Der Mobilfunkanbieter steht auf der schwarzen Liste und die LPA kann kein Profil von SM-DP+/SM-DS herunterladen.
ERROR_OPERATION_BUSY Der Profildownload ist in Bearbeitung und keine anderen Aktionen, die Änderungen des SIM-Status auslösen könnten, sind zulässig.
OPERATION_METADATA Nicht zutreffend Beim Ausführen des Metadatenvorgangs ist ein interner Fehler aufgetreten.
ERROR_INVALID_ACTIVATION_CODE Die Abometadaten sind leer oder der Aktivierungscode in den Abometadaten ist leer oder ungültig.
ERROR_INCOMPATIBLE_CARRIER Der Mobilfunkanbieter steht auf der schwarzen Liste und der LPA kann das Profil dieses Mobilfunkanbieters nicht von SM-DP+/SM-DS herunterladen.
OPERATION_EUICC_GSMA Nicht zutreffend Bei der Ausführung eines eUICC-GSMA-Vorgangs ist ein interner Fehler aufgetreten.
ERROR_INSTALL_PROFILE Fehler mit eUICC beim Installieren des Profils Beispielsweise ist das Profil bereits vorhanden oder die ICCID stimmt nicht überein.
ERROR_EUICC_INSUFFICIENT_MEMORY Fehler mit eUICC beim Installieren des Profils Nicht genügend Speicherplatz auf der eUICC.
ERROR_DISALLOWED_BY_PPR Fehler mit eUICC beim Installieren des Profils Nicht zulässig gemäß der Richtlinie für Profile.
OPERATION_APDU Nicht zutreffend Bei der Ausführung eines APDU-Vorgangs ist ein interner Fehler aufgetreten.
OPERATION_HTTP 1-999 Der Fehlercode ist ein HTTP-Fehlerwert.
Vorgangscode Themencode Ursachencode Beschreibung
OPERATION_SMDX_SUBJECT_REASON_CODE Der String enthält drei Ziffern, die durch einen Punkt getrennt sind, ohne führende Nullen. Beispiel: 8.1.1. String enthält 3 Ziffern, die durch einen Punkt getrennt sind, ohne vorangestellte Nullen. Beispiel: 3.8. SubjectCode[5.2.6.1] und ReasonCode[5.2.6.2] von der GSMA (SGP.22 v2.2) Beispiel: Der SubjectCode 8.1.1 und der ReasonCode 3.8 bedeuten, dass die EID an ein anderes Gerät gebunden ist.