Android NFCV (ISO 15693) 标签
题
是否可以将数据写入 NfcV (ISO 15693) 标签上内存中的特定块?例如。将数据写入块#5 或任何特定块#。
我是 NFC 技术的新手。我正在创建一个应用程序来读取/写入 NfcV (ISO 15693) 标签。我已成功创建阅读部分,但问题出在写作部分。当我想将一些文本数据写入标签时,它从块#2开始向前,每次都执行相同的过程。我已经搜索了很多,但找不到任何将数据写入特定块的解决方案。
解决方案
确切的细节取决于标签内的 ISO 15693 兼容芯片。ISO 15693-3 标准列出了不同的写入命令。对这些的支持都是可选的,因此您的标签可能支持其中的一个或多个,甚至使用专有命令来写入数据。我建议查找芯片的数据表和/或获取 ISO 标准以找出正确的命令。
一旦知道正确的命令是什么,您可以简单地将字节数组中的命令字节传递给 NfcV.transceive()
方法。(通常命令字节由一个标志字节、后面跟着一个写命令字节、一个或多个块字节以及要写入的数据字节组成。)
其他提示
尝试了以下内容:获取“标记丢失”异常:
.nfc.connect(); byte[] arrByt = new byte[7]; arrByt[0] = 0x40; arrByt[1] = 0x21; arrByt[2] = 0x06; arrByt[3] = 0x00; arrByt[4] = 0x00; arrByt[5] = 0x00; arrByt[6] = 0x00; byte[] response = nfc.transceive(arrByt);
我猜Android框架没有处理ISO15693标签的响应。我一直在玩HF-I标签。很少有命令完美无瑕,只有其他一些命令NFC堆栈抛出丢失异常。
不隶属于 StackOverflow