Я пытаюсь аутентифицировать тег 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 () тег подключается, когда он отправляется, я получаю предупреждение «тег потерян» и «сбой передачи».
Кроме того, если я попробую использовать NfcA, возникнет та же проблема.
Наконец, если я попытаюсь отправить одну команду аутентификации после первого ответа, я также получу предупреждение «Тег потерян» с ошибкой передачи.
Итак, мой вопрос:
Почему метка NFC теряется при отправке второго сообщения transceive()? <<
(Похоже, это не проблема таймаута, потому что непосредственно второй прием() соединение открыто с тегом) Я сделал все это в другом потоке, отличном от пользовательского интерфейса.
Заранее спасибо!