我使用已发现NFC
技术的ISO,NFCA and NDEF
标记。有从芯片读取的信息,我尝试访问memory
,但我用commands
的大多数TAG
响应[110, 0]
个字节。我找不到这是什么意思,其中一些回复[109, 0]
或[106, -122]
。通常是[110, 0]
。这些数据存储在标准NDEF
内容之外。
我找不到有关此类响应的任何信息,可能是一种错误。也许我误解了IsoDep
协议,但它看起来很简单:
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
IsoDep iso = IsoDep.get(tag);
byte[] mMaster = iso.transceive(CommandFactory.GET_MASTER_APP);
byte[] mApplciation = iso
.transceive(CommandFactory.SELECT_APPLICATION);
AFAIK它是无国籍的'协议,所以不需要按特定顺序发送命令?
有什么想法吗?
答案 0 :(得分:2)
如果Android为标签显示NfcA + IsoDep + Ndef标签技术,则表示该标签是NFC论坛类型4标签。请注意,与Type 4标签的通信根本不是无状态的。标签包含符合ISO / IEC 7816-4的文件系统结构,因此您首先必须选择NDEF标签应用程序("目录"),然后 - 在该应用程序中 - 选择一个文件(例如功能容器或NDEF数据文件),然后您可以对该文件执行读/写操作。
您在响应命令时看到的内容APDU(APDU是ISO / IEC 7816-4中定义的应用程序协议数据单元,以及您通过ISO-DEP使用Type 4标签所说的内容)是包含的响应APDU一个状态字。在您的情况下,状态字是
6E 00
:不支持命令类6D 00
:不支持指令代码6A 90
:这是一个奇怪的(和非标准的)状态代码。典型的代码是6A 82
([106,-126]),这意味着找不到文件或应用程序。