如何在android中读取检测到的NFC标签(NDEF内容)细节?

Siv*_*iva 3 android nfc ndef

我想读取检测到的NFC标签中包含的NDEF内容(即标签ID,标签大小,标签类型,标签可写,目标类型和消息类型).

NFC*_*guy 11

我假设你在谈论带有NDEF内容的标签?在这种情况下,你可以这样做:

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());
}
Run Code Online (Sandbox Code Playgroud)

  • `byte [] mesg = ndefRecords [i] .getPayload()`,另见http://developer.android.com/reference/android/nfc/NdefRecord.html (2认同)