Я хочу прочитать содержимое NDEF, содержащееся в обнаруженном теге NFC (т. е. идентификатор тега, размер тега, тип тега, доступен ли тег для записи, тип цели и типы сообщений).
Как прочитать информацию об обнаруженном теге NFC (контент NDEF) в Android?
comment
Спасибо за ваш комментарий... до сих пор я получаю идентификатор тега и тип цели по тегу myTag = (Tag) nfcintent.getParcelableExtra(NfcAdapter.EXTRA_TAG); Строка tagTechlist[]= myTag.getTechList(); byte[] tagID=myTag.getId(); Теперь я хочу получить текст в этом теге, размер тега, тип тега и доступен для записи или нет...
- person Siva   schedule 02.04.2012
Ответы (1)
Я предполагаю, что вы говорите о тегах с содержанием 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());
}
person
NFC guy
schedule
02.04.2012
И еще одно, я хочу прочитать сообщение с данными в теге Ndef... пожалуйста, очень срочно... помогите мне...
- person Siva; 10.04.2012
byte[] mesg = ndefRecords[i].getPayload()
, см. также developer.android.com/reference/android/nfc/NdefRecord. html
- person NFC guy; 10.04.2012
А если вам нужна дополнительная информация о NdefRecords, попробуйте code.google.com/ p/ndef-tools-for-android для представления записи более высокого уровня
- person ThomasRS; 18.09.2012