Zabezpiecz komunikację NFC

Android obsługuje emulację karty poza hostem, czyli emulację karty NFC z bezpiecznym elementem. Więcej informacji znajdziesz w artykule Omówienie emulacji karty opartej na hoście.

W niektórych przypadkach, np. gdy używasz FeliCa do płacenia za przejazd, emulacja karty poza hostem 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 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 bezpiecznej komunikacji NFC w celu zwiększenia bezpieczeństwa.

Implementacja

Aby wdrożyć funkcję bezpiecznej komunikacji NFC, urządzenie musi mieć kontroler NFC obsługujący standard NCI 2.0 i 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 do pliku XML zasobu NFC z atrybutem config_skuSupportsSecureNfc.

Interfejsy API platformy

Aby wdrożyć bezpieczną komunikację NFC, zaimplementuj te interfejsy API platformy dostępne w projekcie Android Open Source Project:

Interfejs ustawień

W aplikacji Ustawienia dodaj przełącznik, który umożliwi użytkownikom włączanie i wyłączanie funkcji bezpiecznej komunikacji NFC. Możesz dostosować ustawienie domyślne w aplikacji Ustawienia, aby było włączone lub wyłączone.

Na rysunku 1 pokazano przykład przełącznika, który umożliwia włączanie i wyłączanie bezpiecznej komunikacji NFC w aplikacji Ustawienia w sekcji Ustawienia > Połączone urządzenia > Ustawienia połączeń > NFC > Wymagaj odblokowania urządzenia do korzystania z NFC.

Interfejs bezpiecznej komunikacji NFC

Rysunek 1. Przykładowy przełącznik do włączania i wyłączania bezpiecznej komunikacji NFC

Gdy bezpieczna komunikacja NFC jest włączona, a użytkownik zbliży urządzenie do czytnika NFC, Android wyświetli na ekranie blokady powiadomienie Odblokuj, by użyć komunikacji NFC (jak pokazano na rysunku 2).

Powiadomienie o bezpiecznej komunikacji NFC

Rysunek 2. Powiadomienie „Odblokuj, by użyć komunikacji NFC” na ekranie blokady

Weryfikacja

Aby sprawdzić implementację, 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.