Android admite la emulación de tarjeta fuera del host, lo que significa emulación de tarjeta NFC con un elemento seguro. Para obtener más información, consulte Introducción a la emulación de tarjeta basada en host .
En ciertos casos de uso, como el uso de FeliCa para tránsito, se permite la emulación de tarjeta fuera del host cuando la pantalla de un dispositivo está bloqueada o apagada, o cuando un dispositivo está apagado.
Secure NFC es una función introducida en Android 10 que permite habilitar la emulación de tarjeta NFC fuera del host solo cuando la pantalla del dispositivo está desbloqueada. La implementación de esta función brinda a los usuarios la opción de habilitar NFC seguro para mejorar la seguridad.
Implementación
Para implementar la función Secure NFC, el dispositivo debe tener un controlador NFC que admita el estándar NCI 2.0 y debe usar el marco NFC del Proyecto de código abierto de Android (AOSP). Agregue el hardware ( ro.boot.hardware.sku
) que admite la función NFC seguro en el archivo XML de recursos NFC con el atributo config_skuSupportsSecureNfc
.
API de Framework
Para implementar NFC seguro, implemente las siguientes API de marco que se encuentran en el Proyecto de código abierto de Android:
-
isSecureNfcSupported()
: comprueba si el dispositivo es compatible con la función NFC segura. -
isSecureNfcEnabled()
: comprueba si la función NFC segura está habilitada. -
enableSecureNfc(boolean enable)
: Habilita la función NFC segura.
Interfaz de usuario de configuración
En la aplicación Configuración, agregue un interruptor para permitir que los usuarios habiliten y deshabiliten la función NFC seguro. Puede personalizar la configuración predeterminada en la aplicación Configuración para habilitarla o deshabilitarla.
La Figura 1 muestra un ejemplo de un interruptor para habilitar y deshabilitar NFC seguro en la aplicación Configuración en Configuración > Dispositivos conectados > Preferencias de conexión > NFC > Requerir desbloqueo del dispositivo para NFC .
Figura 1. Ejemplo de interruptor de palanca para habilitar y deshabilitar NFC seguro
Cuando Secure NFC está habilitado y un usuario coloca el dispositivo en un lector NFC, Android muestra la notificación Desbloquear para usar NFC en la pantalla de bloqueo, como se muestra en la Figura 2.
Figura 2. Desbloquear para usar la notificación NFC en la pantalla de bloqueo
Validación
Para validar su implementación, habilite la función Secure NFC y verifique que la emulación de tarjeta NFC esté deshabilitada cuando la pantalla del dispositivo esté apagada o bloqueada, y cuando el dispositivo esté apagado.