我的文本作者无法被我的NFC阅读器阅读

时间:2013-07-02 17:27:53

标签: android eclipse text nfc writer

所以,我做了一个NFC项目,但是当我在标签上写文字时,我的读者无法阅读,我的格式是否有些错误?

这是文本编写器格式代码:

private NdefMessage getNoteAsNdef() {

    byte[] textBytes = mNote.getText().toString().getBytes();


    NdefRecord textRecord = new NdefRecord(NdefRecord.TNF_MIME_MEDIA, "text/plain".getBytes(),
            new byte[0] , textBytes);
    return new NdefMessage(new NdefRecord[] {
        textRecord
    });
}

之前感谢

1 个答案:

答案 0 :(得分:1)

也许你遇到了charset编码问题。请尝试以下步骤来创建NdefRecord:

byte[] textBytes = mNote.getText().toString().getBytes(Charset.forName("US-ASCII"));
new NdefRecord(NdefRecord.TNF_MIME_MEDIA, "text/plain".getBytes(Charset.forName("US-ASCII")), new byte[0], textBytes);

要创建文本标记,您还可以使用以下内容:

byte[] textBytes = mNote.getText().getBytes();
byte[] textPayload = new byte[textBytes.length + 3];
textPayload[0] = 0x02; // 0x02 = UTF8
textPayload[1] = 'e'; // Language = en
textPayload[2] = 'n';
System.arraycopy(textBytes, 0, textPayload, 3, textBytes.length);
NdefRecord record = new NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_TEXT, new byte[0], textPayload);