我正在尝试使用 Android 读取 NFC 标签。我是一名养蜂人,这是为了在我接近蜂巢时识别它们。我已经在这里搜索过,但阅读标签时仍然遇到问题。我想阅读文本,但是当它阅读时,在所需文本之前有一个类似正方形的字符和显示为“十”的字符。
这是我正在使用的代码。我知道有效负载字节必须正确,我尝试更改它们但无济于事。
private static NdefMessage getTestMessage() {
byte[] mimeBytes = "application/com.android.cts.verifier.nfc"
.getBytes(Charset.forName("US-ASCII"));
byte[] id = new byte[] {1, 3, 3, 7};
byte[] payload = "CTS Verifier NDEF Push Tag".getBytes(Charset.forName("US-ASCII"));
return new NdefMessage(new NdefRecord[] {
new NdefRecord(NdefRecord.TNF_MIME_MEDIA, mimeBytes, id, payload)
});
}
@Override
protected void onResume() {
super.onResume();
mNfcAdapter.enableForegroundDispatch(this, mPendingIntent, null, null);
mNfcAdapter.setNdefPushMessageCallback(this, this);
}
// sending message
@Override
public NdefMessage createNdefMessage(NfcEvent event) {
return getTestMessage();
}
private NdefMessage[] getNdefMessages(Intent intent) {
Parcelable[] rawMessages = intent
.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); …Run Code Online (Sandbox Code Playgroud)