Android hỗ trợ mô phỏng thẻ ngoài máy chủ, nghĩa là mô phỏng thẻ NFC với thành phần bảo mật. Để biết thêm thông tin, hãy xem Tổng quan về mô phỏng thẻ dựa trên máy chủ .
Trong một số trường hợp sử dụng nhất định, chẳng hạn như sử dụng FeliCa để chuyển tuyến, việc mô phỏng thẻ bên ngoài máy chủ được cho phép khi màn hình của thiết bị bị khóa hoặc tắt hoặc khi thiết bị bị tắt.
NFC bảo mật 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ở khóa. Việc triển khai tính năng này cung cấp cho người dùng tùy chọn bật NFC bảo mật để cải thiện tính bảo mật.
Thực hiện
Để triển khai tính năng NFC an toàn, 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 mã nguồn mở Android (AOSP). Thêm phần cứng ( ro.boot.hardware.sku
) hỗ trợ tính năng Secure NFC trong tệp XML tài nguyên NFC với 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 có trong Dự án mã nguồn mở Android:
-
isSecureNfcSupported()
: Kiểm tra xem thiết bị có hỗ trợ tính năng Secure NFC hay không. -
isSecureNfcEnabled()
: Kiểm tra xem tính năng Secure NFC có được bật hay không. -
enableSecureNfc(boolean enable)
: Bật tính năng NFC an toàn.
Giao diện người dùng cài đặt
Trong ứng dụng Cài đặt, thêm nút chuyển đổi để cho phép người dùng bật và tắt tính năng Secure NFC. Bạn có thể tùy chỉnh cài đặt mặc định trong ứng dụng Cài đặt để bật hoặc tắt.
Hình 1 hiển thị 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 trong Cài đặt > Thiết bị được kết nối > Tùy chọn kết nối > NFC > Yêu cầu mở khóa thiết bị cho NFC .
Hình 1. Ví dụ về công tắc bật tắt để bật và tắt NFC bảo mật
Khi bật NFC bảo mật và người dùng đặt thiết bị lên đầu đọc NFC, Android sẽ hiển thị thông báo Mở khóa để sử dụng NFC trên màn hình khóa như trong Hình 2.
Hình 2. Mở khóa để sử dụng thông báo NFC trên màn hình khóa
Thẩm định
Để xác thực việc triển khai của bạn, 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 của thiết bị tắt hoặc bị khóa cũng như khi thiết bị tắt.