How to read detected NFC tag (NDEF content) details in android?

Siva picture Siva · Apr 2, 2012 · Viewed 10.3k times · Source

I want to read NDEF content contained within a detected NFC tag (i.e., Tag id, Tag Size, Tag Type, Is tag Writable, Target Type, and message types).

Answer

NFC guy picture NFC guy · Apr 2, 2012

I assume that you are talking about tags with NDEF content? In that case, you can do:

Tag myTag = (Tag) nfcintent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

// get NDEF tag details
Ndef ndefTag = Ndef.get(myTag);
int size = ndefTag.getMaxSize();         // tag size
boolean writable = ndefTag.isWritable(); // is tag writable?
String type = ndefTag.getType();         // tag type

// get NDEF message details
NdefMessage ndefMesg = ndefTag.getCachedNdefMessage();
NdefRecord[] ndefRecords = ndefMesg.getRecords();
int len = ndefRecords.length;
String[] recTypes = new String[len];     // will contain the NDEF record types
for (int i = 0; i < len; i++) {
  recTypes[i] = new String(ndefRecords[i].getType());
}