O Android oferece suporte à emulação de cartão fora do host, o que significa emulação de cartão NFC com um elemento seguro. Para obter mais informações, consulte Visão geral da emulação de placa baseada em host .
Em certos casos de uso, como o uso de FeliCa para trânsito, a emulação de cartão fora do host é permitida quando a tela de um dispositivo está bloqueada ou desligada ou quando um dispositivo está desligado.
Secure NFC é um recurso introduzido no Android 10 que permite que a emulação de cartão NFC fora do host seja habilitada somente quando a tela do dispositivo estiver desbloqueada. A implementação desse recurso oferece aos usuários a opção de habilitar Secure NFC para maior segurança.
Implementação
Para implementar o recurso Secure NFC, o dispositivo deve ter um controlador NFC compatível com o padrão NCI 2.0 e deve usar a estrutura NFC Android Open Source Project (AOSP). Adicione o hardware ( ro.boot.hardware.sku
) que suporta o recurso Secure NFC no arquivo XML de recurso NFC com o atributo config_skuSupportsSecureNfc
.
APIs de estrutura
Para implementar Secure NFC, implemente as seguintes APIs de estrutura encontradas no Android Open Source Project:
-
isSecureNfcSupported()
: verifica se o dispositivo suporta o recurso Secure NFC. -
isSecureNfcEnabled()
: Verifica se o recurso Secure NFC está habilitado. -
enableSecureNfc(boolean enable)
: Ativa o recurso Secure NFC.
IU de configurações
No aplicativo Configurações, adicione um botão de alternância para permitir que os usuários ativem e desativem o recurso Secure NFC. Você pode personalizar a configuração padrão no aplicativo Configurações para habilitar ou desabilitar.
A Figura 1 mostra um exemplo de um botão de alternância para habilitar e desabilitar Secure NFC no aplicativo Configurações em Configurações > Dispositivos conectados > Preferências de conexão > NFC > Exigir desbloqueio do dispositivo para NFC .
Figura 1. Exemplo de chave seletora para habilitar e desabilitar Secure NFC
Quando Secure NFC está ativado e um usuário coloca o dispositivo em um leitor NFC, o Android exibe a notificação Desbloquear para usar NFC na tela de bloqueio, conforme mostrado na Figura 2.
Figura 2. Desbloqueie para usar a notificação NFC na tela de bloqueio
Validação
Para validar sua implementação, ative o recurso Secure NFC e verifique se a emulação de cartão NFC está desativada quando a tela do dispositivo está desligada ou bloqueada e quando o dispositivo está desligado.
,O Android oferece suporte à emulação de cartão fora do host, o que significa emulação de cartão NFC com um elemento seguro. Para obter mais informações, consulte Visão geral da emulação de placa baseada em host .
Em certos casos de uso, como o uso de FeliCa para trânsito, a emulação de cartão fora do host é permitida quando a tela de um dispositivo está bloqueada ou desligada ou quando um dispositivo está desligado.
Secure NFC é um recurso introduzido no Android 10 que permite que a emulação de cartão NFC fora do host seja habilitada somente quando a tela do dispositivo estiver desbloqueada. A implementação desse recurso oferece aos usuários a opção de habilitar Secure NFC para maior segurança.
Implementação
Para implementar o recurso Secure NFC, o dispositivo deve ter um controlador NFC compatível com o padrão NCI 2.0 e deve usar a estrutura NFC Android Open Source Project (AOSP). Adicione o hardware ( ro.boot.hardware.sku
) que suporta o recurso Secure NFC no arquivo XML de recurso NFC com o atributo config_skuSupportsSecureNfc
.
APIs de estrutura
Para implementar Secure NFC, implemente as seguintes APIs de estrutura encontradas no Android Open Source Project:
-
isSecureNfcSupported()
: verifica se o dispositivo suporta o recurso Secure NFC. -
isSecureNfcEnabled()
: Verifica se o recurso Secure NFC está ativado. -
enableSecureNfc(boolean enable)
: Ativa o recurso Secure NFC.
IU de configurações
No aplicativo Configurações, adicione um botão de alternância para permitir que os usuários ativem e desativem o recurso Secure NFC. Você pode personalizar a configuração padrão no aplicativo Configurações para habilitar ou desabilitar.
A Figura 1 mostra um exemplo de um botão de alternância para habilitar e desabilitar Secure NFC no aplicativo Configurações em Configurações > Dispositivos conectados > Preferências de conexão > NFC > Exigir desbloqueio do dispositivo para NFC .
Figura 1. Exemplo de chave seletora para habilitar e desabilitar Secure NFC
Quando Secure NFC está ativado e um usuário coloca o dispositivo em um leitor NFC, o Android exibe a notificação Desbloquear para usar NFC na tela de bloqueio, conforme mostrado na Figura 2.
Figura 2. Desbloqueie para usar a notificação NFC na tela de bloqueio
Validação
Para validar sua implementação, ative o recurso Secure NFC e verifique se a emulação de cartão NFC está desativada quando a tela do dispositivo está desligada ou bloqueada e quando o dispositivo está desligado.