A comunicação a curta distância (NFC, na sigla em inglês) é um conjunto de tecnologias sem fio de curto alcance, que normalmente exige uma distância de até 4 cm para iniciar uma conexão. A NFC permite compartilhar pequenos conjuntos de dados entre uma tag NFC e um dispositivo com tecnologia Android ou entre dois dispositivos com tecnologia Android.
As etiquetas possuem níveis variados de complexidade. As tags simples oferecem apenas semântica de leitura e gravação, às vezes com áreas programáveis uma única vez para que o cartão seja somente leitura. Tags 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 o código em execução 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 chamado NDEF (formato de troca de dados NFC, na sigla em inglês).
Dispositivos Android com NFC são compatíveis simultaneamente com três modos principais de operação:
- Modo leitor/gravador, permitindo que o dispositivo NFC leia e grave etiquetas e adesivos NFC passivos.
- Modo P2P, permitindo que o dispositivo NFC troque dados com outros pares de NFC. Esse modo de operação é usado pelo Android Beam.
- Modo de emulação de cartões, permitindo 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 tags NFC descobertas e notifica aplicativos de dados relevantes para eles. Também vamos abordar como trabalhar com os dados NDEF nos seus aplicativos e fornecer uma visão geral das APIs do framework que são 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 com suporte no Android. Quando você não está trabalhando com dados NDEF ou está trabalhando com dados NDEF que o Android não consegue entender completamente, é necessário ler ou gravar manualmente na tag em bytes brutos usando sua própria pilha de protocolos. 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 app Android emule um cartão e se comunique diretamente com o leitor de NFC.