Android obsługuje emulację karty off-host, co oznacza emulację karty NFC z bezpiecznym elementem. Aby uzyskać więcej informacji, zobacz Omówienie emulacji kart opartej na hoście .
W niektórych przypadkach użycia, np. podczas korzystania z FeliCa w transporcie, dozwolona jest emulacja karty poza hostem, gdy ekran urządzenia jest zablokowany lub wyłączony, albo gdy urządzenie jest wyłączone.
Bezpieczna NFC to funkcja wprowadzona w systemie Android 10, która umożliwia włączenie emulacji karty NFC poza hostem tylko wtedy, gdy ekran urządzenia jest odblokowany. Wdrożenie tej funkcji daje użytkownikom możliwość włączenia funkcji Secure NFC w celu zwiększenia bezpieczeństwa.
Realizacja
Aby wdrożyć funkcję Secure NFC, urządzenie musi mieć kontroler NFC obsługujący standard NCI 2.0 i musi korzystać ze struktury NFC Android Open Source Project (AOSP). Dodaj sprzęt ( ro.boot.hardware.sku
) obsługujący funkcję Secure NFC do pliku XML zasobu NFC z atrybutem config_skuSupportsSecureNfc
.
Ramowe interfejsy API
Aby zaimplementować Secure NFC, zaimplementuj następujące frameworkowe interfejsy API znalezione w projekcie Android Open Source:
-
isSecureNfcSupported()
: Sprawdza, czy urządzenie obsługuje funkcję Secure NFC. -
isSecureNfcEnabled()
: Sprawdza, czy funkcja Secure NFC jest włączona. -
enableSecureNfc(boolean enable)
: Włącza funkcję Secure NFC.
Interfejs ustawień
W aplikacji Ustawienia dodaj przełącznik, aby umożliwić użytkownikom włączanie i wyłączanie funkcji Bezpieczny NFC. Możesz dostosować ustawienie domyślne w aplikacji Ustawienia, aby je włączyć lub wyłączyć.
Rysunek 1 przedstawia przykład przełącznika umożliwiającego włączenie i wyłączenie Bezpiecznej NFC w aplikacji Ustawienia , wybierając Ustawienia > Połączone urządzenia > Preferencje połączeń > NFC > Wymagaj odblokowania urządzenia dla NFC .
Rysunek 1. Przykładowy przełącznik umożliwiający włączenie i wyłączenie funkcji Secure NFC
Gdy włączona jest funkcja Secure NFC, a użytkownik umieści urządzenie na czytniku NFC, system Android wyświetli na ekranie blokady powiadomienie Odblokuj, aby użyć NFC , jak pokazano na rysunku 2.
Rysunek 2. Odblokuj, aby korzystać z powiadomień NFC na ekranie blokady
Walidacja
Aby sprawdzić poprawność implementacji, włącz funkcję Bezpieczny NFC i sprawdź, czy emulacja karty NFC jest wyłączona, gdy ekran urządzenia jest wyłączony lub zablokowany oraz gdy urządzenie jest wyłączone.