Я разрабатываю приложение для Android с minSdk = 14 и targetSdk = 17. Я хочу, чтобы приложение использовало 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». Я также попытался прочитать данные 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) предпочтительнее при отправке текстовых данных?
Но должен ли MIME-1 быть правильным, даже если NXP TagWriter не будет отображать его содержимое? – Nait
Мне все хорошо. –