Тег NFC не открывает URL-адрес в браузере на Android

Я записал сообщение NDEF в классическом теге Mifare, которое содержит следующий URL-адрес:

http://192.168.195.104/micha/?id=1234

Он ссылается на мой веб-сервер, откуда я хотел бы прочитать данные из базы данных на моем телефоне Android. Когда я набираю этот адрес в браузере, запрошенная страница открывается так, как должна. Но когда я пытаюсь открыть его с помощью тега NFC, появляется белый экран, на котором отображается:

Arguments: http://192.168.195.104/micha/?id=1234

Сохранение других адресов (я пробовал google.com) работает нормально. Поэтому мне интересно, есть ли какие-либо известные проблемы, связанные с использованием PHP или IP-адресов в записях NDEF? Или любая другая идея, почему это не работает?

Вот шестнадцатеричный код сообщения:

00 00 03 34 d1 01 1f 55 03 31 30 02 2e 31 36 38
2e 31 39 35 2e 31 30 34 2f 6d 69 63 68 61 2f 3f
69 64 3d 31 32 33 34 fe 00 00 00 00 00 00 00 00

Это действительно срочно, было бы здорово, если бы кто-то мог помочь!


person micha    schedule 06.10.2012    source источник
comment
Не уверен, но это может быть связано с кодированием/декодированием строки URL? Вы пытались закодировать его перед записью в тег и декодировать после чтения из тега?   -  person Givi    schedule 07.10.2012
comment
Я сделал. Сначала я сам закодировал его вручную, как указано в NFCForum и NXP Application Notes для Mifare. Я написал это на бирке с Arduino, используя NFC Shield. Когда это не сработало, я использовал приложение Tag Writer для Android, чтобы убедиться, что не ошибся. Те же данные, тот же результат. Я снова расшифровал его вручную, но, похоже, ошибок в кодировании нет.   -  person micha    schedule 07.10.2012
comment
@micha, ты смог это исправить, я столкнулся с той же проблемой. stackoverflow.com/questions/32700286/   -  person Hanuman    schedule 21.09.2015
comment
@hanuman Я смог исправить это, используя принятый ответ. Действительно, у меня было несколько приложений, которые использовали NFC, и намерение было перехвачено другим приложением. adb logcat показал мне, какой.   -  person micha    schedule 24.09.2015


Ответы (1)


Это должно просто работать. На самом деле, я только что попробовал это сам с похожим URL-адресом, и он работает на моем устройстве. Итак, я предполагаю, что другое приложение на вашем телефоне вмешивается и получает намерение, а не браузер. Вы можете проверить, проверив «adb logcat», чтобы увидеть, в какой пакет отправляется намерение.

person NFC guy    schedule 06.10.2012