Android hỗ trợ quy trình mô phỏng thẻ từ bên ngoài máy chủ, nghĩa là mô phỏng thẻ NFC với một phần tử bảo mật. Để biết thêm thông tin, hãy xem phần Tổng quan về tính năng mô phỏng thẻ dựa trên máy chủ.
Trong một số trường hợp sử dụng, chẳng hạn như sử dụng FeliCa để đi phương tiện công cộng, bạn được phép mô phỏng thẻ ngoài máy chủ khi màn hình của thiết bị bị khoá hoặc tắt, hoặc khi thiết bị bị tắt.
Bảo mật NFC là một tính năng được giới thiệu trong Android 10, cho phép chỉ bật tính năng mô phỏng thẻ NFC ngoài máy chủ khi màn hình của thiết bị được mở khoá. Việc triển khai tính năng này cho phép người dùng bật NFC bảo mật để tăng cường bảo mật.
Triển khai
Để triển khai tính năng NFC bảo mật, thiết bị phải có bộ điều khiển NFC hỗ trợ tiêu chuẩn NCI 2.0 và phải sử dụng khung NFC của Dự án nguồn mở Android (AOSP). Thêm phần cứng (ro.boot.hardware.sku
) hỗ trợ tính năng NFC bảo mật trong tệp XML tài nguyên NFC bằng thuộc tính config_skuSupportsSecureNfc
.
API khung
Để triển khai NFC bảo mật, hãy triển khai các API khung sau đây có trong Dự án nguồn mở Android:
isSecureNfcSupported()
: Kiểm tra xem thiết bị có hỗ trợ tính năng Bảo mật NFC hay không.isSecureNfcEnabled()
: Kiểm tra xem tính năng Bảo mật NFC có được bật hay không.enableSecureNfc(boolean enable)
: Bật tính năng Bảo mật NFC.
Giao diện người dùng của phần Cài đặt
Trong ứng dụng Cài đặt, hãy thêm một nút bật/tắt để cho phép người dùng bật và tắt tính năng NFC bảo mật. Bạn có thể tuỳ chỉnh chế độ cài đặt mặc định trong ứng dụng Cài đặt để bật hoặc tắt.
Hình 1 minh hoạ một ví dụ về công tắc bật/tắt để bật và tắt NFC bảo mật trong ứng dụng Cài đặt ở phần Cài đặt > Thiết bị đã kết nối > Lựa chọn ưu tiên về kết nối > NFC > Yêu cầu mở khoá thiết bị để sử dụng NFC.
Hình 1. Ví dụ về nút chuyển bật/tắt để bật và tắt tính năng Bảo mật NFC
Khi chế độ Bảo mật NFC được bật và người dùng đặt thiết bị trên đầu đọc NFC, Android sẽ hiển thị thông báo Mở khoá để sử dụng NFC trên màn hình khoá như minh hoạ trong Hình 2.
Hình 2. Mở khoá để sử dụng thông báo NFC trên màn hình khoá
Xác nhận kết quả
Để xác thực quá trình triển khai, hãy bật tính năng NFC bảo mật và xác minh rằng tính năng mô phỏng thẻ NFC bị tắt khi màn hình thiết bị tắt hoặc khoá, cũng như khi thiết bị tắt.