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:
isSecureNfcSupported(): sprawdza, czy urządzenie obsługuje funkcję bezpiecznej komunikacji 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 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.
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).
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.