[英]Read “payload” data on NFC tag?
我正在使用以下代碼“讀取”nfc標記:
@Override
protected void onResume () {
super.onResume();
// read nfc tag....this is what will "read" the external record?
if (getIntent().hasExtra(NfcAdapter.EXTRA_TAG)) {
NdefMessage ndefMessage = this.getNdefMessageFromIntent(getIntent());
if(ndefMessage.getRecords().length > 0){
NdefRecord ndefRecord = ndefMessage.getRecords()[0];
String payload = new String(ndefRecord.getPayload());
Toast.makeText(this, payload, Toast.LENGTH_SHORT).show();
}
}
enableForegroundDispatchSystem();
}
我收到一個錯誤,說它“無法解析方法getNdefMessageFromIntent”我是否應該使用另一種方法來“讀取”標簽上的有效負載? 不知道如何解決這個問題....謝謝你的幫助!!
您可以嘗試以下方法:
if (intent.getAction().equals(NfcAdapter.ACTION_NDEF_DISCOVERED)) {
Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
if (rawMsgs != null) { // NDEF Message available
NdefMessage msg =(NdefMessage) rawMsgs[0];
NdefRecord ndefRecords = ndefMessage.getRecords();
String payload = new String(ndefRecord[0].getPayload());
Toast.makeText(this, payload, Toast.LENGTH_SHORT).show();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.