Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IsoDep.收发器(命令)以[110,0]字节响应?_Java_Android_Nfc_Apdu_Ndef - Fatal编程技术网

Java IsoDep.收发器(命令)以[110,0]字节响应?

Java IsoDep.收发器(命令)以[110,0]字节响应?,java,android,nfc,apdu,ndef,Java,Android,Nfc,Apdu,Ndef,我使用的是NFC标签,它发现了ISO、NFCA和NDEF技术。有信息要从芯片读取,我试图访问内存,但我用来与标签通信的大多数命令都以[110,0]字节响应。我找不到这意味着什么,其中一些人的回答是[109,0]或[106,-122]。通常[110,0]。这些数据存储在标准NDEF内容之外 我找不到关于这种反应的任何信息,也许这是一种错误。也许我误解了IsoDep协议,但它看起来很简单: Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TA

我使用的是
NFC
标签,它发现了
ISO、NFCA和NDEF
技术。有信息要从芯片读取,我试图访问
内存
,但我用来与
标签通信的大多数
命令
都以
[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是“无状态”协议,所以不需要按特定顺序发送命令


有什么想法吗?

如果Android为标签显示NfcA+IsoDep+Ndef标签技术,这意味着该标签是NFC论坛类型4标签。注意,与类型4标记的通信根本不是无状态的。标记包含符合ISO/IEC 7816-4的文件系统结构,因此您首先必须选择NDEF标记应用程序(“目录”),然后在该应用程序中选择某个文件(例如,能力容器或NDEF数据文件),然后您可以对该文件执行读/写操作

您在对命令APDU(APDU是ISO/IEC 7816-4中定义的应用协议数据单元,这就是您在ISO-DEP上使用类型4标记时所看到的)的响应是由状态字组成的响应APDU。在你的情况下,状态词是

  • [110,0]或无符号十六进制
    6E 00
    :不支持命令类
  • [109,0]或无符号十六进制
    6D 00
    :不支持指令代码
  • [106,-112]或无符号十六进制
    6A 90
    :这是一个奇怪的(非标准)状态代码。典型的代码是
    6A82
    ([106,-126]),这意味着找不到文件或应用程序