Android obsługuje emulację karty poza urządzeniem, co oznacza emulację karty NFC z elementem zabezpieczającym. Więcej informacji znajdziesz w artykule Omówienie emulacji karty opartej na hoście.
W niektórych przypadkach, np. podczas korzystania z FeliCa w transporcie publicznym, emulacja karty poza urządzeniem jest dozwolona, gdy ekran urządzenia jest zablokowany lub wyłączony albo gdy urządzenie jest wyłączone.
Bezpieczna komunikacja NFC to funkcja wprowadzona w Androidzie 10, która umożliwia emulację karty NFC poza urządzeniem tylko wtedy, gdy ekran urządzenia jest odblokowany. Wdrożenie tej funkcji daje użytkownikom możliwość włączenia bezpiecznego NFC w celu zwiększenia bezpieczeństwa.
Implementacja
Aby wdrożyć funkcję bezpiecznego NFC, urządzenie musi mieć kontroler NFC, który obsługuje standard NCI 2.0, i musi korzystać z platformy NFC w ramach projektu Android Open Source Project (AOSP). Dodaj sprzęt (ro.boot.hardware.sku
) obsługujący funkcję bezpiecznej komunikacji NFC w pliku XML zasobu NFC z atrybutem config_skuSupportsSecureNfc
.
Interfejsy API platformy
Aby wdrożyć bezpieczne NFC, zaimplementuj te interfejsy API platformy, które znajdziesz w projekcie Android Open Source Project:
isSecureNfcSupported()
: sprawdza, czy urządzenie obsługuje funkcję Zabezpiecz komunikację NFC.isSecureNfcEnabled()
: sprawdza, czy funkcja bezpiecznej komunikacji NFC jest włączona.enableSecureNfc(boolean enable)
: włącza funkcję bezpiecznej komunikacji NFC.
Interfejs ustawień
W aplikacji Ustawienia dodaj przełącznik, który umożliwi użytkownikom włączanie i wyłączanie funkcji bezpiecznego NFC. Możesz dostosować ustawienie domyślne w aplikacji Ustawienia, aby było włączone lub wyłączone.
Ilustracja 1 przedstawia przykład przełącznika do włączania i wyłączania bezpiecznego NFC w aplikacji Ustawienia w sekcji Ustawienia > Połączone urządzenia > Ustawienia połączeń > NFC > Wymagaj odblokowywania urządzenia przez NFC.
Rysunek 1. Przykładowy przełącznik umożliwiający włączanie i wyłączanie bezpiecznej technologii NFC
Gdy bezpieczna technologia NFC jest włączona, a użytkownik przyłoży urządzenie do czytnika NFC, Android wyświetli na ekranie blokady powiadomienie Odblokuj, aby używać NFC, jak pokazano na rysunku 2.
Rysunek 2. Powiadomienie „Odblokuj, aby użyć NFC” na ekranie blokady
Weryfikacja
Aby sprawdzić wdrożenie, włącz funkcję bezpiecznej komunikacji NFC i upewnij się, że emulacja karty NFC jest wyłączona, gdy ekran urządzenia jest wyłączony lub zablokowany oraz gdy urządzenie jest wyłączone.