Xử lý lỗi API eUICC

API eUICC cung cấp mã lỗi để giúp ứng dụng và người dùng khắc phục sự cố liên quan đến việc tải xuống, bật, tắt và xóa cấu hình eSIM.

Xử lý lỗi

Khi xảy ra lỗi khi gọi API eUICC, lệnh gọi lại có mục đích đang chờ xử lý sẽ được cung cấp và EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE được sử dụng làm khóa để nhận mã lỗi chi tiết. Bắt đầu từ Android 11, bốn khóa và giá trị sau được đưa vào mục đích tạo ra:

Bốn giá trị này cho phép lệnh gọi API eUICC xử lý riêng các lỗi cụ thể. Sau đây là một ví dụ về cách xử lý các lỗi này.

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

Hỗ trợ hoạt động và kết hợp mã lỗi

Bảng sau đây mô tả sự kết hợp hoạt động được hỗ trợ và mã lỗi được trả về từ trợ lý hồ sơ cục bộ (LPA).

Sự kết hợp hoạt động và mã lỗi
Mã hoạt động Mã lỗi Sự miêu tả
OPERATION_SYSTEM Không áp dụng Đã xảy ra lỗi nội bộ. Ví dụ: luồng bị gián đoạn hoặc xảy ra lỗi IOException .
OPERATION_SIM_SLOT Không áp dụng Đã xảy ra lỗi nội bộ khi thực hiện thao tác trên khe cắm SIM.
ERROR_TIME_OUT Đã hết thời gian chờ khi cố gắng thực hiện thao tác trên khe cắm SIM.
ERROR_EUICC_MISSING Không có eUICC nào khả dụng hoặc đang hoạt động trên thiết bị.
OPERATION_EUICC_CARD Không áp dụng Đã xảy ra lỗi nội bộ khi thực hiện thao tác eUICC.
ERROR_UNSUPPORTED_VERSION Phiên bản eUICC (chip) và phiên bản EuiccCard (phần mềm) không tương thích.
ERROR_EUICC_MISSING Không có thẻ SIM có sẵn trong thiết bị. Ví dụ: LPA không thể phát hiện thẻ SIM.
OPERATION_SMDX Không áp dụng Đã xảy ra lỗi nội bộ khi thực hiện thao tác SM-DP+/SM-DS.
ERROR_ADDRESS_MISSING Không có địa chỉ SM-DP+ để tải xuống hồ sơ.
ERROR_INVALID_CONFIRMATION_CODE Đã xảy ra lỗi khi phân tích mã kích hoạt (định dạng không hợp lệ).
ERROR_CERTIFICATE_ERROR Lỗi kho khóa hoặc chứng chỉ khi được sử dụng trong kết nối TLS để xác minh.
ERROR_NO_PROFILES_AVAILABLE Không có cấu hình nào từ SM-DP+.
ERROR_CONNECTION_ERROR Không thể tạo kết nối tới máy chủ.
ERROR_INVALID_RESPONSE Phản hồi không hợp lệ từ máy chủ SM-DP+/SM-DS.
OPERATION_SWITCH Không áp dụng Đã xảy ra lỗi nội bộ khi thực hiện thao tác chuyển đổi.
ERROR_CARRIER_LOCKED Không được phép chuyển đổi cấu hình do máy bị khóa nhà mạng (khóa SIM).
OPERATION_DOWNLOAD Không áp dụng Đã xảy ra lỗi nội bộ khi thực hiện thao tác tải xuống.
ERROR_DISALLOWED_BY_PPR Bảng ủy quyền quy tắc trên eUICC không có giá trị hoặc quy tắc chính sách hồ sơ không cho phép tải xuống.
ERROR_INVALID_ACTIVATION_CODE Đã xảy ra lỗi khi phân tích mã kích hoạt (định dạng không hợp lệ) hoặc cố tải xuống mà không có mã kích hoạt.
ERROR_CARRIER_LOCKED Không được phép tải xuống vì máy bị khóa nhà mạng (khóa SIM).
ERROR_INCOMPATIBLE_CARRIER Nhà cung cấp dịch vụ nằm trong danh sách đen và LPA không thể tải xuống cấu hình từ SM-DP+/SM-DS.
ERROR_OPERATION_BUSY Đang tải xuống hồ sơ và không được phép thực hiện hành động nào khác có thể kích hoạt thay đổi trạng thái SIM.
OPERATION_METADATA Không áp dụng Đã xảy ra lỗi nội bộ khi thực hiện thao tác siêu dữ liệu.
ERROR_INVALID_ACTIVATION_CODE Siêu dữ liệu đăng ký trống hoặc mã kích hoạt bên trong siêu dữ liệu đăng ký trống hoặc không hợp lệ.
ERROR_INCOMPATIBLE_CARRIER Nhà cung cấp dịch vụ nằm trong danh sách đen và LPA không thể tải xuống hồ sơ của nhà cung cấp dịch vụ này từ SM-DP+/SM-DS.
OPERATION_EUICC_GSMA Không áp dụng Đã xảy ra lỗi nội bộ khi thực hiện thao tác eUICC GSMA.
ERROR_INSTALL_PROFILE Lỗi eUICC khi cố gắng cài đặt hồ sơ. Ví dụ: hồ sơ đã tồn tại hoặc ICCID không khớp.
ERROR_EUICC_INSUFFICIENT_MEMORY Lỗi eUICC khi cố gắng cài đặt hồ sơ. Không đủ bộ nhớ trên eUICC.
ERROR_DISALLOWED_BY_PPR Lỗi eUICC khi cố gắng cài đặt hồ sơ. Không được phép theo quy tắc chính sách hồ sơ.
OPERATION_APDU Không áp dụng Đã xảy ra lỗi nội bộ khi thực hiện thao tác APDU.
OPERATION_HTTP 1-999 Mã lỗi là giá trị lỗi HTTP.
Mã hoạt động Mã chủ đề Nguyên mã Sự miêu tả
OPERATION_SMDX_SUBJECT_REASON_CODE Chuỗi chứa 3 chữ số cách nhau bằng dấu chấm, không có số 0 đứng đầu. Ví dụ: 8.1.1 . Chuỗi chứa 3 chữ số cách nhau bằng dấu chấm và không có số 0 đứng đầu. Ví dụ: 3.8 . Mã chủ đề[5.2.6.1] và Mã lý do[5.2.6.2] từ GSMA (SGP.22 v2.2). Ví dụ: Mã chủ đề là 8.1.1 và Mã lý do là 3.8 có nghĩa là EID được liên kết với một thiết bị khác.