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.

Заранее спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос