Android 改为;有效载荷;NFC标签上的数据?
我使用以下代码“读取”nfc标记:Android 改为;有效载荷;NFC标签上的数据?,android,nfc,payload,Android,Nfc,Payload,我使用以下代码“读取”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.getNdef
@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();
}
}嗨,corvairjo,我的应用程序取得了一些进展,但我遇到了另一个障碍。我已经打开了另一个问题,这样我可以分享更多的代码。链接是:到目前为止,你帮了我很大的忙,我提前感谢你在这个话题上的帮助!我正在取得稳步进展…因为我现在能够写入标签并读取它…然而,我得到了一些奇怪的“有效负载”格式的结果。我在这里发布了另一个问题:一如既往,感谢您的帮助……我一直在尽可能地为您投票。嗨@corvairjo,再次感谢您的帮助,我因此取得了巨大的进步。现在,当我“扫描”标记时,可以看到整数值(1或2)。但是,我无法用设计用于基于该写入值执行代码的应用程序实际“读取”标记。我已经在下面的链接中发布了我的全部主要活动代码…再次感谢您的帮助!!