У меня есть планшет Android с Android 4.2. На этом планшете нет оборудования NFC. Однако у меня есть внешний USB-считыватель: ACR 1252U, который поставляется с Android library. Я задал несколько общих вопросов о моей настройке here. Теперь, когда он становится более конкретным, мне нужно спросить другого. В этом предыдущем вопросе я узнал, что я могу использовать ACS Android-библиотеку для доступа читателей эмуляция карты возможностей.Доступ к режиму эмуляции карт на USB-NFC-Reader
Моя первая цель - заставить читателя эмулировать тег NFC, содержащий URL-адрес. Любой Android-телефон с поддержкой NFC должен иметь возможность сканировать этот эмулированный тег и автоматически открывать браузер. Я протестировал его, и он работает с реальным (физическим) тегом. Но, к сожалению, я не могу правильно эмулировать этот тег ...
Теперь я написал приложение для Android, но я застрял. Согласно readers API (PDF), я могу получить его в режим эмуляции карты, отправив команду
E0 00 00 40 03 01 00 00
Когда я делаю это, это дает мне ответ:
E1 00 00 00 03 01 01 01
Это подтверждает, что в карты режим эмуляции. С помощью приложения Android я теперь могу сканировать эмулированный тег, в котором говорится, что это признано тегом NXP MIFARE Ultralight.
Моя проблема теперь в том, как подать тег URL. Согласно считывающего API (раздел 5.10.3), мне нужно отправить команду:
E0 00 00 60 13 01 01 00 0F D1 01 0B 55 01 67 6F 6F 67 6C 65 2E 63 6F 6D
D1 01 0B 55 01 67 6F 6F 67 6C 65 2E 63 6F 6D
, где это сообщение ЦНК, который содержит URL «http://www.google.com». Я создал это сообщение ЦНКА с помощью этого Android Java кода:
String target_url = "http://www.google.com";
Uri uri = Uri.parse(target_url);
NdefRecord recordNFC = NdefRecord.createUri(uri);
NdefMessage message = new NdefMessage(recordNFC);
Приложения на моем Android телефона, который читает NFC тег говорит следующее:
Как вы можете видеть, URL является сохранен на эмулируемой теге.
- Так почему же браузер моего телефона не открывает URL-адрес?
- Я что-то пропустил? Ошибочны ли мои команды?
- Почему есть некоторые "?" персонажи?
Большое спасибо за Ваш ответ! Этот вопрос был довольно давно. Проект был оставлен с тех пор руководителем проекта. Тем не менее, я соглашусь, потому что это кажется очень хорошим. Для будущих читателей: имейте в виду, я никогда не тестировал это;) –