Ir para o conteúdo
Idioma: PT

Um celular consegue emular uma tag NDEF para outro celular?

No Android, consegue. Um serviço de emulação de cartão pelo host que registra o identificador da aplicação NDEF e responde aos comandos dela apresenta o celular como uma tag Tipo 4, que qualquer leitor lê. O outro celular tem de estar lendo em vez de emulando, e o modo ponto a ponto saiu das duas plataformas.

Uma tag Tipo 4 é um conjunto de respostas

Nada na sequência Tipo 4 exige um chip. Um leitor seleciona a aplicação NDEF pelo identificador dela, seleciona o arquivo do contêiner de capacidade, o lê, depois seleciona e lê o arquivo NDEF, como expõe a página do Tipo 4. O código que responde a esses comandos com bytes próprios é, do lado do leitor, uma tag Tipo 4.

No Android esse código é um serviço de emulação de cartão pelo host: ele registra o identificador no XML dele, como descreve a página da implementação, e responde aos comandos SELECT e READ BINARY que vêm depois. As restrições do mecanismo valem sem mudança: ISO-DEP sobre NFC-A, um canal lógico, uma troca mantida perto dos mil bytes do guia para o toque ficar curto.

Isso continua sendo uma emulação. O leitor vê uma mensagem, não um identificador de tag que um chip carregaria, e o conteúdo é o que o serviço decidir responder naquele momento, que é a razão de fazer assim.

Os dois lados não conseguem sondar ao mesmo tempo

Um celular que emula está respondendo a um campo, não produzindo um. Então o outro celular tem de ser o leitor, e de estar lendo de propósito: o modo leitor suspende a emulação de cartão enquanto a atividade estiver em primeiro plano, o que a página do modo leitor expõe ao lado da alternativa.

O celular que emula traz as condições próprias dele. Se ele responde com a tela desligada ou a partir da tela de bloqueio depende da versão do Android e de um ajuste do aparelho, o que a página da tela desligada toma versão por versão. Uma demonstração que funciona com as duas telas ligadas pode falhar num bolso.

O que um iPhone faz aqui

Um iPhone lê isso sem nada de especial. O Core NFC lê os tipos 1 a 5 do NFC Forum, então uma sessão NDEF faz à tag emulada as mesmas perguntas que faria a um adesivo, e as respostas decidem se funciona.

Um iPhone emulando é a direção restrita. Ele exige uma sessão de cartão, a partir do iOS 17.4, cuja autorização a Apple concede mediante pedido e cuja lista de identificadores teria de incluir a aplicação NDEF; a página da emulação no iOS cobre o que isso envolve.

O que o modo ponto a ponto deixou para trás

O modo construído para dois aparelhos alimentados foi retirado das duas plataformas móveis, como conta a página do modo ponto a ponto. O que sobra para dois celulares é este arranjo: um emula um cartão, o outro o lê.

Isso basta para entregar uma mensagem curta, um identificador ou um link, e é a ferramenta errada para um arquivo. O NFC merece o lugar dele quando um lado não tem energia nem tela; entre dois celulares que têm as duas, um rádio que alcança mais longe carrega mais.

Perguntas frequentes

O celular que lê precisa de um aplicativo específico?

Precisa. Alguma coisa tem de ler, pelo modo leitor ou por uma leitura NDEF, já que o celular que emula está respondendo em vez de sondar.

Os dois celulares conseguem emular ao mesmo tempo?

Não. Um cartão emulado responde a um leitor, e dois cartões nunca se encontram. Um lado sonda, o outro responde.

Um iPhone consegue emular uma tag NDEF?

Só pela sessão de cartão controlada, a partir do iOS 17.4, onde a Apple concede a autorização. Ler uma não exige nada de especial.

O Android Beam ainda existe?

Não. O modo ponto a ponto foi retirado das duas plataformas móveis, que é a razão de a emulação ser o que sobrou.