У меня есть планшет с Android 4.2. Этот планшет не имеет оборудования NFC. Однако у меня есть внешний USB-ридер: ACR 1252U, поставляемый с библиотекой Android. Я задал несколько общих вопросов о моей настройке здесь. Теперь, когда он становится более конкретным, мне нужно задать еще один вопрос. В этом предыдущем вопросе я узнал, что могу использовать библиотеку ACS Android для доступа к возможностям эмуляции карты ридеров.
Моя первая цель — заставить этот ридер эмулировать метку NFC, содержащую URL-адрес. Любой телефон Android с поддержкой NFC должен иметь возможность сканировать этот эмулированный тег и автоматически открывать браузер. Я протестировал его, и он работает с реальным (физическим) тегом. Но, к сожалению, я не могу правильно эмулировать этот тег...
Сейчас я написал приложение для Android, но застрял. Согласно 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
– это сообщение NDEF, содержащее URL-адрес "http://www.google.com". Я создал это сообщение NDEF, используя этот код 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-адрес?
- Я что-то упускаю? Мои команды неверны?
- Почему есть некоторые "?" символы?