Android obsługuje emulację karty poza hostem, co oznacza emulację karty NFC z użyciem bezpiecznego elementu. Więcej informacji znajdziesz w artykule na temat emulacji kart hosta.
W niektórych przypadkach, takich jak korzystanie z karty FeliCa w transporcie, 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 emulację karty NFC poza hostem 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ę Bezpieczne NFC, urządzenie musi mieć kontroler NFC, który obsługuje standard NCI 2.0 i musi używać platformy NFC w ramach projektu Android Open Source (AOSP). Dodaj sprzęt (ro.boot.hardware.sku
) obsługujący funkcję Bezpiecznej komunikacji NFC w pliku XML zasobu z atrybutem config_skuSupportsSecureNfc
.
Interfejsy API platformy
Aby wdrożyć bezpieczną komunikację NFC, zaimplementuj następujące interfejsy API platformy znalezione w projekcie Android Open Source:
isSecureNfcSupported()
: sprawdza, czy urządzenie obsługuje funkcję Zabezpiecz komunikację NFC.isSecureNfcEnabled()
: sprawdza, czy włączona jest funkcja Zabezpiecz komunikację NFC.enableSecureNfc(boolean enable)
: włącza funkcję Bezpieczna komunikacja NFC.
Interfejs ustawień
W aplikacji Ustawienia dodaj przełącznik, który pozwoli użytkownikom włączać i wyłączać funkcję Bezpieczne NFC. W aplikacji Ustawienia możesz dostosować ustawienie domyślne, aby było włączone lub wyłączone.
Rysunek 1. Przykład przełącznika do włączania i wyłączania bezpiecznego NFC w aplikacji Ustawienia (Ustawienia > Połączone urządzenia > Ustawienia połączeń > NFC > NFC wymaga odblokowywania urządzenia).
Rysunek 1. Przykład przełącznika umożliwiającego włączenie i wyłączenie bezpiecznej technologii NFC
Gdy funkcja Zabezpiecz komunikację NFC jest włączona, a użytkownik umieszcza urządzenie w czytniku NFC, Android wyświetla na ekranie blokady powiadomienie Odblokuj, aby używać NFC, tak jak na ilustracji 2.
Rysunek 2. Odblokuj, aby używać powiadomienia NFC na ekranie blokady
Weryfikacja
Aby sprawdzić implementację, włącz funkcję Bezpieczne 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.