新的2.3.3 SDK增强了NFC支持,我想写一个依赖于此的应用程序。最终,我希望能够从同时进入场域的多个标签中读取数据,但Android似乎只会在第一个进入场域的标签上触发 - 后续的标签则被忽略。
从我使用的标签(Mifare Classic)的NFC规范(ISO/IEC 14443-3)中可以看出,我应该能够向标签发送“挂起”命令,这将导致它停止响应,并允许我读取场域中的下一个标签。Android在任何子类中都不直接支持halt命令,所以我尝试直接使用
诚然,我正在主线程中完成所有这些操作,我知道这是不好的主意,但我只是想尽可能轻松地测试概念。
是否可能同时与场域中的多个标签进行通信?我做错了什么?
从我使用的标签(Mifare Classic)的NFC规范(ISO/IEC 14443-3)中可以看出,我应该能够向标签发送“挂起”命令,这将导致它停止响应,并允许我读取场域中的下一个标签。Android在任何子类中都不直接支持halt命令,所以我尝试直接使用
transceive(new byte[] {0x50, 0x00})
来发送它。这引发了一个IOException,消息是“transceive失败”。诚然,我正在主线程中完成所有这些操作,我知道这是不好的主意,但我只是想尽可能轻松地测试概念。
是否可能同时与场域中的多个标签进行通信?我做错了什么?