gpt4 book ai didi

java - 在 Android 中同时读取多个 NFC 标签

转载 作者:IT老高 更新时间:2023-10-28 23:13:32 25 4
gpt4 key购买 nike

新的 2.3.3 SDK 包括改进的 NFC 支持,我想编写一个依赖于此的应用程序。最终,我希望能够从同时进入该字段的多个标签中读取数据,但 Android 似乎只在第一个进入该字段的标签上触发 - 随后的标签将被忽略。

通过阅读我正在使用的标签 (Mifare Classic) 的 NFC 规范 (ISO/IEC 14443-3),我应该能够向标签发送“暂停”命令,这将导致它停止响应,并允许我阅读该字段中的下一个标签。 Android 不直接在任何 TagTechnology 子类上支持停止命令,所以我尝试自己使用 transceive(new byte[] {0x50, 0x00}) 直接发送它.这将引发 IOException,并显示消息“收发失败”。

诚然,我是从主线程执行所有这些操作的,我理解这是一个坏主意,但我只想尽可能轻松地测试这个概念。

是否可以同时与字段中的多个标签进行通信?我做错了什么?

最佳答案

不幸的是,目前你想要的东西是不可能的,除非你做一些非常高级的黑客,这几乎不是一个好主意:)

如果您在 transceive() 中发送正确的字节,您可能会停止卡,就像您现在尝试做的那样。但是由于停止(或者更确切地说,您尝试发送的 HLTA)是一个 ISO14443-3A 命令,因此这将无法通过使用“加密”管道的 MifareClassic 接口(interface)工作。不幸的是,直接通过 NfcA 接口(interface)传输也不适用于当前堆栈。

即使您可以让卡停止,这也不会自动导致手机中的 NFC 芯片恢复轮询新标签 - 因为您正在“绕过”堆栈。

关于java - 在 Android 中同时读取多个 NFC 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5287696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com