我正在尝试验证 Mifare Ultralight C(兼容 ISO/IEC 14443-2 和 14443-3 A 型)标签。
我使用 Android 中提供的 MifareUltralight.transceive() 函数发送身份验证命令。我还检查了 NfcA.transceive()(IsoDep 似乎与这种标签不兼容,因为该对象用于处理 ISO/IEC 14443-4 标签,这就是我不使用 IsoDep.transceive() 的原因)。
因此,当我第一次发送身份验证请求命令时,标签用 AFxxxx 回答 transceive() ..... 我在其中处理标签答案,然后我发送另一个带有对该答案的响应的 transceive() 但是......就在之前发送收发器()标签已连接,发送时我收到“标签丢失”警告和“收发失败”。
另外,如果我用 NfcA 尝试它,也会发生同样的问题。
最后,如果我在第一个响应之后尝试发送一个身份验证命令,我还会收到一个“标签丢失”警告,收发失败。
所以我的问题是:
为什么我发送第二个 transceive() 时 NFC 标签会丢失?<<
(这似乎不是超时问题,因为就在发送第二个 transceive() 之前,连接已使用标签打开)我在与 UI 不同的线程中制作了所有东西。
提前致谢!