Depois de instalar o Android 2.3.4 no Nexus S, os aplicativos NFC não iniciam mais

StackOverflow https://stackoverflow.com/questions/6049635

  •  15-11-2019
  •  | 
  •  

Pergunta

Depois de instalar o Android 2.3.4 no meu Nexus S, os aplicativos NFC não iniciam mais.

Eu tentei com as três intenções (NDEF_DISCOVERED,TECH_DISCOVERED,TAG_DISCOVERED) descritas na documentação do Google, mas qualquer uma delas resolve o problema, Nexux S continua abrindo aplicativos padrão do Google e ignora meu aplicativo.

Eu tinha isso no manifesto

<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
</intent-filter>

e se não me engano parece ter suporte na notícia 2.3.3, por que o Nexus S ignora isso?

Você poderia me ajudar por favor.

Atenciosamente, Hugo.

Foi útil?

Solução

Você precisa adicionar isto aos seus filtros de intenção:

<intent-filter>
   <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
</intent-filter>

Quando uma tag é verificada, o Android deve mostrar um pop-up perguntando qual aplicativo deve lidar com ela.

Atualizar

Com base nas informações adicionais do seu comentário, o problema é que sua tag contém informações reconhecidas pelo Android.Neste caso, isso é um URL.Como o Android pode encontrar um aplicativo (o aplicativo NFC padrão) que pode lidar com URLs, esse aplicativo terá prioridade e será chamado em vez de um aplicativo que simplesmente lida com a descoberta de tags.A descoberta de tags só será enviada se nenhum outro filtro de intent corresponder à tag.Para citar os documentos:

android.nfc.action.TAG_DISCOVERED:Essa intenção começa se nenhuma atividade lidar com as intenções NDEF_Descoberted e Tech_Descoberted ou se a tag que é digitalizada for desconhecida.

Portanto, você também deve declarar sua tag para lidar com mensagens nas tags. Você também precisa especificar exatamente o tipo de dados que está almejando (neste caso, URLs), caso contrário, o aplicativo Google Android ainda terá precedência para URLs. Você pode ler mais informações sobre o Página NFC do Android

Outras dicas

Você também deve adicionar dados no filtro de intenções.Consulte http://developer.android.com/guide/topics/nfc/nfc.html#tech-disc

e procure em ACTION_NDEF_DISCOVERED em Filtragem para intenções NFC.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top