Невидимое сообщение Ndef

Я реализую приложение Android для устройств NFC. Я использую тег Ndef, NfcV и NdefFormatable с двумя разными устройствами Android: Samsung Galaxy SII plus и Samsung Galaxy SII, каждый из которых работает под управлением Android версии 4.1.2. SII plus может видеть тег, читать и записывать его без проблем, но SIII не может видеть технологию Ndef, он видит только технологию NfcV. Есть идеи, почему? Проблема возникает в любом продаваемом приложении, как и в моем, и независимо от того, имеет ли тег фактическое сообщение NDEF или нет.


person Jinbonka    schedule 26.03.2013    source источник
comment
Можете ли вы определить чип в теге с помощью такого приложения, как TagInfo? Это может дать ключ к разгадке происходящего.   -  person NFC guy    schedule 27.03.2013
comment
Информация о теге показывает тип V для радиочастотной технологии, тип тега EM4x3x с целевыми технологическими классами: NfcV и Ndef. Тег NDEF имеет неизвестный тип.   -  person Jinbonka    schedule 27.03.2013
comment
Разница похожа на ту, что я наблюдал с телефонами Galaxy Nexus и Nexus 4. Nexus 4 содержит более новый программный стек NFC, который поддерживает NDEF для различных типов тегов NfcV, в то время как Galaxy Nexus поддерживает только теги ICODE NfcV. Galaxy S3 имеет тот же программный стек NFC, что и Galaxy Nexus. Похоже, что у S2+ такой же, как у Nexus 4 (что логично, учитывая даты появления этих устройств на рынке).   -  person NFC guy    schedule 29.03.2013
comment
Понятно, существует ли список различных стеков программного обеспечения для разных устройств?   -  person Jinbonka    schedule 02.04.2013


Ответы (1)


Теги NfcV не являются официальными тегами форума NFC. Поэтому не существует стандартизированного способа хранения сообщения NDEF в метке. Также не все теги NfcV работают одинаково. В зависимости от конкретного тега вы должны отправлять в тег разные команды, если хотите низкоуровнево прочитать или записать тег. Архитектура памяти между разными тегами также различается.

На практике коммуникационные библиотеки NFC решают эту проблему, имея список некоторых общих тегов NfcV вместе с инструкциями по их чтению/записи. Этот список отличается для разных телефонов и версий Android.

Эта несовместимость не исчезнет в ближайшее время. NfcV может стать частью стандарта NFC Forum, но сейчас это вам не поможет. Есть два способа справиться с этой проблемой:

  1. Не используйте NfcV, если вам нужен тип тега, который может надежно обмениваться данными между всеми устройствами NFC. Для этого созданы NFC Forum Type1–Type4. Поддержка чтения/записи NfcV даже не гарантируется.

  2. Если вы привязаны к этому конкретному тегу NFC по причинам проекта, вы можете игнорировать встроенный код чтения NDEF и сделать это самостоятельно. Для этого вам понадобится таблица данных тега и отправка необработанных команд с помощью tag.transceive. Это немного больше работы, но это не настолько сложно.

person Nils Pipenbrinck    schedule 27.03.2013
comment
За ваш ответ, знаете ли вы, существует ли такой список телефонов и поддерживаемых библиотек? - person Jinbonka; 27.03.2013
comment
Теперь Nexus4 обеспечивает поддержку хранилища NDEF на теге NFC-V. - person Deepak Goel; 22.05.2013