NFC和NDEF到底有什么关系?是否任何NFC设备都必须有NDEF格式的数据?或者有可能有NFC,但没有NDEF (尽管我认为反之亦然,不是吗?)空的NFC卡会是什么样子?它是否仍然有NDEF报头信息,但没有有效负载?或者标签可能是完全空的,也就是说,也没有任何标头信息?在这种情况下,android手机还是读卡器仍能检测到这一点?究竟是什么使标签被读取器发现?
发布于 2013-08-02 10:40:04
在NFC通信中,主要有三种操作方式。
NFC的基础是天线耦合,每当NFC设备接近另一个天线耦合发生时,就有多协议RF前端IC芯片连接到读取器/写入设备,另一个设备可以是读取器/写入设备或简单的NFC标记( nfc标签只是天线和数据存储)。通信只在通过ISO、IEC 18092和ISO/IEC 14443协议时进行,否则将不进行通信。
NFC和NDEF到底有什么关系?
在android中,所有NFC设备都作为PICC设备被检测和处理,android.nfc包提供了对近场通信功能的访问,允许应用程序读取NFC标记中的NDEF消息。
是否任何NFC设备都必须有NDEF格式的数据?
是和不是,在这种模式下,NFC设备模拟ISO 14443智能卡,或者集成在移动设备中的智能卡芯片连接到NFC模块的天线上。遗留读取器无法区分在标记模拟模式下工作的移动电话和普通智能卡。
这是NFC技术的一个优势,因为已经存在的读取器基础结构不需要被替换。用于标签模拟的智能卡芯片也称为安全元件。
是否可能有NFC,而不是NDEF?
是的,这里相当覆盖:高级NFC
空的NFC卡会是什么样子?它是否仍然有NDEF报头信息,但没有有效负载?或者标签可能是完全空的,也就是说,也没有任何标头信息?
NDEF由四部分组成。
3位(类型名称格式)
指示如何解释可变长度类型字段。
变长型
描述记录的类型。如果使用TNF_WELL_KNOWN,请使用此字段指定记录类型定义。
可变长度ID
记录的唯一标识符。此字段不常使用,但如果需要唯一标识标记,则可以为其创建ID。
可变长度有效载荷
要读取或写入的实际数据有效负载。NDEF消息可以包含一个或一个或多个NDEF记录,因此不要假设完整的有效负载在NDEF消息的第一个NDEF记录中。
在这种情况下,android手机还是读卡器仍能检测到这一点?究竟是什么使标签被读取器发现?
标记分派系统使用Type Name Format(TNF)和type字段来尝试将MIME类型或URI映射到NDEF消息。如果成功,它会将该信息封装在ACTION_NDEF_DISCOVERED意图中以及实际的有效负载中。但是,在某些情况下,标记分派系统无法根据第一个NDEF记录确定数据类型。当NDEF数据不能映射到MIME类型或URI,或者NFC标记开始不包含NDEF数据时,就会发生这种情况。在这种情况下,包含关于标记技术和有效负载的信息的标记对象被封装在ACTION_TECH_DISCOVERED意图中。
对于空消息,TNF将为TNF_EMPTY(指示记录为空)。类型、id和有效负载字段在TNF_EMPTY记录中为空。)在这种情况下,它回到了ACTION_TECH_DISCOVERED。
请参阅 这些 链接
https://stackoverflow.com/questions/18013972
复制相似问题