Mifare Ultralight C Аутентификация в Android (2.3.6)
Я пытаюсь аутентифицировать тег Mifare Ultralight C (совместимый с ISO / IEC 14443-2 и 14443-3 тип A).
Я отправляю команду аутентификации с помощью функции MifareUltralight.transceive (), представленной в Android. Я также проверил NfcA.transceive () (IsoDep, кажется, не совместим с тегами такого типа, потому что этот объект предназначен для работы с тегами ISO / IEC 14443-4, и поэтому я не использую IsoDep.transceive ()).
Итак, когда я сначала отправляю команду запроса аутентификации, тег отвечает на transceive () с помощью AFxxxx ..... где я обрабатываю ответ тега, а затем отправляю другой transceive () с ответом на этот ответ, но ... непосредственно перед при отправке transceive () тег подключен, когда он отправляется, я получаю предупреждение «tag is lost» и «transceive fail».
Кроме того, если я попробую это с NfcA, произойдет та же проблема.
Наконец, если я пытаюсь отправить одну команду аутентификации после первого ответа, я получаю также предупреждение «Тег был потерян» с ошибкой передачи.
Итак, мой вопрос:
Почему тег NFC теряется, когда я отправляю второй transceive ()?<<
(Кажется, это не проблема тайм-аута, потому что перед отправкой второго transceive () соединение открыто с тэгом) Я сделал все вещи в потоке, отличном от UI.
Заранее спасибо!