Sommaire

Lire un tag NFC:lire un tag NFCNFC

La lecture d’un tag NFC intervient après la prise en charge du tag par l’activité. Le tag et son contenu sont fournis à l’activité dans l’intent, qui contient également l’action qui permet de déterminer quel type de message est contenu dans le tag ; il suffit donc de tester la valeur de l’action de l’intent pour savoir quelle méthode utiliser pour déchiffrer le ou les messages.

if(intent.getAction().equals(NfcAdapter.ACTION_NDEF_DISCOVERED)) 
  Log.d(TAG,"Lecture d’un tag NDEF"); 
else  
if(intent.getAction().equals(NfcAdapter.ACTION_TECH_DISCOVERED)) 
  Log.d(TAG,"Lecture d’un tag TECH");

Nous allons voir en détail la lecture des différents types de messages NDEF.

1. Déterminer le contenu d’un tag NDEF

Dans le cas d’un tag contenant des messages NDEF, la lecture se fait en récupérant sous forme de ParcelableArrayExtra la valeur du parcelable NFC:NfcAdapter.EXTRA_NDEF_MESSAGESde nom NfcAdapter.EXTRA_NDEF_MESSAGES contenu dans l’intent, puis en convertissant chaque élément du tableau en objet de type NdefMessage (il ne faut pas oublier qu’un tag NDEF peut contenir plusieurs messages au format NDEF).

Parcelable[] parcelableNedfMessages =  
intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); 
 
if(parcelableNedfMessages==null) 
  return; 
 
NdefMessage[] messages =   ...