2013-07-02 56 views
1

因此,我製作了一個NFC項目,但是當我在標籤上寫入文本時,我的讀取器無法讀取它,有沒有我的格式有什麼問題?我的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

也許你正在運行到字符集編碼的問題。請嘗試以下,而不是創建您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); 
+0

沒有,這是行不通的,我不明白?是我的讀者嗎?但它可以讀取URL和接觸而沒有任何問題 –

+0

什麼我的讀者可以閱讀就是這樣 著名的有:金塔:NFC:WKT:T(文本) 編碼UTF-8 語言:zh 但我不不知道如何讓它變成這樣 –

+0

我剛剛在上面添加的第二個選項應該爲你做詭計 – Neiti01