Android admite la emulación de tarjetas fuera del host, lo que significa la emulación de tarjetas NFC con un Elemento seguro. Para obtener más información, consulta la descripción general de la emulación de tarjetas basada en el host.
En ciertos casos de uso, como el uso de FeliCa para el transporte público, se permite la emulación de tarjetas fuera del host cuando la pantalla del dispositivo está bloqueada o apagada, o cuando el dispositivo está apagado.
La opción Proteger NFC es una función que se introdujo en Android 10 y permite que la emulación de la tarjeta NFC fuera del host se habilite solo cuando la pantalla del dispositivo esté desbloqueada. La implementación de esta función brinda a los usuarios la opción de habilitar Proteger NFC para mejorar la seguridad.
Implementación
Para implementar la función de NFC seguro, el dispositivo debe tener un controlador NFC que admita el estándar NCI 2.0 y debe usar el framework de NFC del Proyecto de código abierto de Android (AOSP). Agrega el hardware (ro.boot.hardware.sku
) que admite la función de NFC seguro en el archivo de recursos XML de NFC con el atributo config_skuSupportsSecureNfc
.
APIs de Framework
Para implementar NFC seguro, implementa las siguientes APIs de framework que se encuentran en el Proyecto de código abierto de Android:
isSecureNfcSupported()
: Comprueba si el dispositivo admite la función de NFC seguro.isSecureNfcEnabled()
: Verifica si la función NFC segura está habilitada.enableSecureNfc(boolean enable)
: Habilita la función Proteger NFC.
IU de configuración
En la aplicación de configuración, agrega un interruptor para permitir que los usuarios habiliten y inhabiliten la función Proteger NFC. Puedes personalizar el parámetro de configuración predeterminado en la aplicación Configuración para que esté habilitado o inhabilitado.
En la figura 1, se muestra un ejemplo de un interruptor de activación para habilitar y, luego, inhabilitar la función NFC segura en la app de Configuración en Configuración > Dispositivos conectados > Preferencias de conexión > NFC > Usar NFC solo si el dispositivo está desbloqueado.
Figura 1: Ejemplo de interruptor para habilitar y inhabilitar el método NFC seguro
Cuando la función Proteger NFC está habilitada y un usuario coloca el dispositivo en un lector de NFC, Android muestra la notificación Desbloquea para usar NFC en la pantalla de bloqueo, como se muestra en la Figura 2.
Figura 2: Notificación de desbloqueo para usar NFC en la pantalla de bloqueo
Validación
Para validar tu implementación, habilita la función Proteger NFC y verifica que la emulación de tarjetas NFC esté inhabilitada cuando la pantalla del dispositivo esté apagada o bloqueada, y cuando el dispositivo esté apagado.