2014-07-16 95 views
1

即時通訊嘗試使用NFC構建應用程序以通過NFC標籤在手機之間傳遞數據。 但有一件事困擾着我,我該如何發送各種大小的記錄到構造函數中?例如,這個構造函數只接受2個NDEFRecord。發送動態NdefRecords給構造函數

NdefMessage message = new NdefMessage(new NdefRecord[]{ 
      NfcUtils.createRecord(MIME_TYPE, text.getBytes()), 
      NfcUtils.createRecord(MIME_TYPE, text.getBytes()), 
      NdefRecord.createApplicationRecord(TARGET_APPLICATION) 
    }); 

我的應用程序可能會發送各種記錄,但構造函數似乎接受'靜態'記錄。

對於可能導致的任何錯誤/不便,我們深表歉意。 我希望你們都能得到我想問的問題。

回答

0

NdefMessage構造函數可以根據需要採用許多NdefRecords。

NdefRecord first = NdefRecord.createUri("http://stackoverflow.com/"); 
NdefRecord second = NdefRecord.createMime("text/plain", "content".getBytes()); 
NdefRecord third = NdefRecord.createExternal("com.stackoverflow", "nfc", "content".getBytes()); 
// and so on ... 

NdefMessage message = new NdefMessage(first, second, third); 

如果要動態添加記錄,可以填充NdefRecord數組並將其作爲參數傳遞。

NdefRecord[] records = new NdefRecord[3]; 
records[0] = NdefRecord.createUri("http://stackoverflow.com/"); 
records[1] = NdefRecord.createMime("text/plain", "content".getBytes()); 
records[2] = NdefRecord.createExternal("com.stackoverflow", "nfc", "content".getBytes()); 

NdefMessage message = new NdefMessage(records); 
+0

謝謝!有效 ! :D 我還有1個問題 我遇到了同樣的問題http://stackoverflow.com/questions/12562374/automatically-reading-data-from-nfc-tag 但我無法評論,我應該打開一個新線程?或者我可以在這裏問一下? – weechard

+0

您需要至少50條的聲望才能發表評論:http://stackoverflow.com/help/privileges/comment 要麼在這裏問,要麼打開新的問題。 – mata