Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.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
如何使用Android解码NFC标签的IC类型?_Android_Nfc_Uid - Fatal编程技术网

如何使用Android解码NFC标签的IC类型?

如何使用Android解码NFC标签的IC类型?,android,nfc,uid,Android,Nfc,Uid,我正在开发一个Android NFC应用程序 这个应用程序可以扫描NFC标签(这里我有一个NXP NTAG 5 boost标签,它是NFC论坛类型5标签) 从UID中,我已经知道如何使用第二个字节对IC制造商进行解码 现在,我想对IC类型进行解码,就像NXP的TagInfo应用程序一样,以确定扫描的标签是更多的NTAG 5增强还是NTAG I2C plus 以下是NXP TagInfo应用程序显示的图像: 您知道在哪里可以找到IC类型寄存器,以便我可以解码UID的这部分吗?只有制造商编码到UI

我正在开发一个Android NFC应用程序

这个应用程序可以扫描NFC标签(这里我有一个NXP NTAG 5 boost标签,它是NFC论坛类型5标签)

从UID中,我已经知道如何使用第二个字节对IC制造商进行解码

现在,我想对IC类型进行解码,就像NXP的TagInfo应用程序一样,以确定扫描的标签是更多的NTAG 5增强还是NTAG I2C plus

以下是NXP TagInfo应用程序显示的图像:


您知道在哪里可以找到IC类型寄存器,以便我可以解码UID的这部分吗?

只有制造商编码到UID中,UID中没有其他编码

该应用程序决定IC类型的方式可能有很多种

一些NFC芯片在较低级别协议上提供一些数据,如ATQA和SAK for NfcA,用于识别标签类型和大小的系列,这主要在Mifare经典系列芯片上

最可能的情况是,对于NXP芯片,您已经确定大多数NXP芯片都有一个
原始签名
命令,例如在第8.2.4.7节中,该签名用于检查IC类型


不幸的是,如何解码和检查
原创签名
是保密协议的一部分。当然,您展示的应用程序是由NXP编写的,因此他们可以访问解码此签名所需的数据,并了解其中包含的内容。(有一个提示,不同的芯片上使用不同的键,因此,如果您知道该过程以及键如何映射到IC,这将告诉您IC类型)。

实际上,答案更简单。。 首先,您需要了解有不同的NFC协议,Android支持如TagTechnologies NFC-A、NFC-B、NFC-V和ISO-DEP。 NTAG 2xx(包括NTAG I2C)属于NFC-A类别,而NTAG5 IC属于NFC-V技术。 例如,NTAG 21x IC支持Get_Version命令(60h),该命令将返回主要和次要产品版本以及内存大小。
请参见中的表28和中的表21。谢谢您的详细回答,这很有帮助!我会和NXP联系,了解更多关于解码这个原创签名的信息。