Visão geral da comunicação a curta distância (NFC, na sigla em inglês)

A comunicação a curta distância (NFC) é um conjunto de tecnologias sem fio de curto alcance, que normalmente precisa de uma distância de 4 cm ou menos para fazer uma conexão. A NFC permite que você compartilhe pequenos conjuntos de dados entre uma etiqueta NFC e um dispositivo com tecnologia Android ou entre dois dispositivos com tecnologia 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 etiquetas mais sofisticadas contêm ambientes operacionais, permitindo interações complexas com códigos executados na etiqueta. Os dados armazenados na etiqueta 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 três modos principais de operação:

  1. Modo leitor/gravador: permite que o dispositivo NFC leia e/ou grave etiquetas e adesivos NFC passivos.
  2. Modo P2P: permite que o dispositivo NFC troque dados com outros dispositivos NFC. Esse modo de operação é usado pelo Android Beam.
  3. Modo de emulação de cartões: 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 vendas 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 de estrutura 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 etiqueta 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 etiqueta e para abrir a comunicação com a etiqueta usando uma pilha de protocolos própria.
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 NFC.