A comunicação a curta distância (NFC) é um conjunto de tecnologias sem fio de curto alcance, que normalmente exige uma distância de 4 cm ou menos para iniciar uma conexão. A NFC permite compartilhar pequenos conjuntos de dados entre uma tag NFC e um dispositivo Android ou entre dois dispositivos Android.
As etiquetas possuem níveis variados de complexidade. As etiquetas simples oferecem apenas semântica de leitura e gravação, às vezes com áreas unicamente programáveis para tornar o cartão somente leitura. Etiquetas mais complexas oferecem operações matemáticas e têm hardware criptográfico para autenticar o acesso a um setor. As tags mais sofisticadas contêm ambientes operacionais, permitindo interações complexas com códigos executados na tag. Os dados armazenados na tag também podem ser gravados em vários formatos, mas muitas das APIs do framework do Android são baseadas em um padrão do NFC Forum (link em inglês) chamado de formato de troca de dados do NFC (NDEF, na sigla em inglês).
Dispositivos com tecnologia Android compatíveis com NFC suportam simultaneamente dois modos principais de operação:
- Modo leitor/gravador: permite que o dispositivo NFC leia e grave etiquetas e adesivos NFC passivos.
- Modo de emulação de cartão: permite que o próprio dispositivo NFC atue como um cartão NFC. O cartão NFC emulado pode ser acessado por um leitor NFC externo, como um terminal de ponto de venda NFC.
- Fundamentos da NFC
- Este documento descreve como o Android processa etiquetas NFC descobertas e como notifica os aplicativos sobre dados relevantes. O documento também aborda como trabalhar com os dados NDEF nos aplicativos e fornece uma visão geral das APIs do framework compatíveis com o conjunto básico de recursos NFC do Android.
- NFC avançada
- Este documento aborda as APIs que permitem o uso das várias tecnologias de tag compatíveis com o Android. Quando não estiver trabalhando com dados NDEF ou quando estiver trabalhando com dados NDEF que o Android não consegue compreender completamente, é preciso ler ou gravar a etiqueta manualmente em bytes brutos, usando uma pilha de protocolos própria. Nesses casos, o Android oferece suporte para detectar determinadas tecnologias de tag e abrir a comunicação com a tag usando sua própria pilha de protocolos.
- Emulação de cartão com base em host
- Este documento descreve como os dispositivos Android podem funcionar como cartões NFC sem usar um elemento de segurança, permitindo que qualquer aplicativo Android emule um cartão e se comunique diretamente com o leitor de NFC.