我正在開發一個minSdk = 14和targetSdk = 17的Android應用程序。我希望應用程序使用Android Beam將純文本字符串從手機發送到NFC閱讀器。我還沒有讀者,並試圖從一個Android設備光束純文本數據到另一個(我有一個Nexus 4運行4.2.2和一個LG Optimus L5運行4.0.3)。Android Beam上的純文本
我發現了兩種發送文本數據的方式,第一種是使用TNF_WELL_KNOWN和RTD_TEXT作爲類型,另一種是使用TNF_MIME_MEDIA和text/plain作爲類型。
從L5發送到N4後,我看到的所有內容都是新標籤下收集的是「text/plain」。我也嘗試使用NXP TagWriter讀取Beam數據,這是我使用RTD_TEXT http://i.imgur.com/0qbAwld.png時得到的結果,這是使用text/plain MIME http://i.imgur.com/bz9RxuI.png時的情況。
此使用RTD_TEXT
NdefRecord[] records = {
new NdefRecord(NdefRecord.TNF_WELL_KNOWN,
NdefRecord.RTD_TEXT,
new byte[0],
"testing".getBytes())
};
NdefMessage msg = new NdefMessage(records);
adapter.setNdefPushMessage(msg, this);
這是使用文本時的代碼時,該代碼/ MIME平原
NdefRecord[] records = {
new NdefRecord(NdefRecord.TNF_MIME_MEDIA,
"text/plain".getBytes(),
new byte[0],
"testing".getBytes())
};
NdefMessage msg = new NdefMessage(records);
adapter.setNdefPushMessage(msg, this);
如何正確地創建NdefRecord?或者它是否按照預期工作,只有有效載荷不顯示在另一部手機上?發送純文本數據時,這兩種方法中的哪一種(RTD_TEXT和MIME)是首選?
但是,即使恩智浦TagWriter不會顯示其內容,是否應該正確MIME? – Nait
它看起來對我很好。 –