Я разрабатываю приложение для Android с minSdk=14 и targetSdk=17. Я хочу, чтобы приложение использовало Android Beam для отправки простой текстовой строки с телефона на устройство чтения NFC. У меня еще нет ридера, и я пытался передавать данные в виде простого текста с одного устройства Android на другое (у меня Nexus 4 с 4.2.2 и LG Optimus L5 с 4.0.3).
Я нашел два способа отправки текстовых данных: первый — использовать в качестве типа TNF_WELL_KNOWN и RTD_TEXT, а второй — использовать в качестве типа TNF_MIME_MEDIA и text/plain.
После отправки с L5 на N4 все, что я вижу, находится под новым собранным тегом: «текст/обычный». Я также попытался прочитать данные Beam с помощью NXP TagWriter, вот что я получил при использовании RTD_TEXT http://i.imgur.com/0qbAwld.png и это при использовании текстового/простого 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) предпочтительнее при отправке данных в виде обычного текста?