Android NfcV(ISO 15693)标签

时间:2012-10-02 10:00:43

标签: android nfc iso-15693

是否可以将数据写入NfcV(ISO 15693)标签的内存中的特定块?例如。将数据写入块#5或任何特定块#。

我是NFC技术的新手。我正在创建一个读/写NfcV(ISO 15693)标签的应用程序。我已成功创建阅读部分,但问题在于写作部分。当我想将一些文本数据写入标记时,它从块#2开始向前,每次都执行相同的过程。我搜索了很多,但我找不到任何解决方案来将数据写入特定的块。

3 个答案:

答案 0 :(得分:3)

具体细节取决于标签内部的ISO 15693兼容芯片。 ISO 15693-3标准列出了不同的写命令。对这些的支持都是可选的,因此您的标记可能支持其中的一个或多个,甚至使用专有命令来写入数据。我建议查阅芯片的数据表和/或获取ISO标准,以找出正确的命令。

一旦知道正确的命令是什么,就可以简单地将字节数组中的命令字节传递给NfcV.transceive()方法。 (通常命令字节由一个标志字节组成,后跟一个写命令字节,一个或多个块字节和要写入的数据字节。)

答案 1 :(得分:2)

  

尝试以下操作:获取“标记丢失”例外:

        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);

答案 2 :(得分:0)

我猜android框架不能很好地处理ISO15693标签的响应。我一直在玩HF-I标签。很少有命令可以完美地工作,而对于其他一些命令,NFC堆栈会引发TAG Lost异常。

相关问题