NFC和NDEF之间究竟有什么关系? NFC设备是否总是必须有NDEF格式的数据?或者是否有可能拥有NFC而不是NDEF(虽然我认为反之亦然是不可能的?)?空的NFC卡会是什么样的?它仍然有NDEF头信息但没有有效载荷吗?或者标签是否可以完全为空,也就是说,没有任何标题信息?在这种情况下,这仍然可以通过Android手机或读卡器检测到吗?究竟什么使标签被读者检测到了?
答案 0 :(得分:12)
在NFC通信中,主要有三种操作模式
在android中,所有NFC设备都被检测并作为PICC设备处理,android.nfc包提供对近场通信(NFC)功能的访问,允许应用程序在NFC标签中读取NDEF消息
是和否,在此模式下,NFC设备模拟ISO 14443智能卡或集成在移动设备中的智能卡芯片连接到NFC模块的天线。传统读卡器无法区分在标签仿真模式下操作的移动电话与普通智能卡。
这是NFC技术的优势,因为现有的读卡器基础设施不需要更换。用于标签仿真的智能卡芯片也称为安全元件。
是的,这里有相当的内容:Advanced NFC
NDEF由四部分组成
3位TNF(类型名称格式)
指示如何解释可变长度类型字段
可变长度类型
描述记录的类型。如果使用TNF_WELL_KNOWN,请使用此字段指定记录类型定义(RTD)
可变长度ID
记录的唯一标识符。此字段不经常使用,但如果您需要唯一标识标记,则可以为其创建ID
可变长度有效载荷
要读取或写入的实际数据有效内容。 NDEF消息可以包含一个或不包含或多个NDEF记录,因此不要假设完整有效负载位于NDEF消息的第一个NDEF记录中。
标签调度系统使用类型名称格式(TNF)和类型字段来尝试将MIME类型或URI映射到NDEF消息。如果成功,它会将该信息与实际有效负载一起封装在ACTION_NDEF_DISCOVERED
意图内。但是,有时标签调度系统无法根据第一个NDEF记录确定数据类型。当NDEF数据无法映射到MIME类型或URI,或者NFC标记不包含NDEF数据时,就会发生这种情况。在这种情况下,具有关于标签技术和有效负载的信息的Tag对象将被封装在ACTION_TECH_DISCOVERED
意图内。
对于空消息,TNF将为TNF_EMPTY
(表示记录为空.TNF_EMPTY记录中的类型,ID和有效负载字段为空。)在这种情况下,它会回退到ACTION_TECH_DISCOVERED
。
答案 1 :(得分:1)
NDEF记录直接定义了一条消息,因此没有空的NDEF消息(它将是0字节)。然而,许多类型的标签可以被格式化为“NDEF”,因为在写入实际的NDEF数据之前必须就访问密钥和数据区等概念达成一致,否则存储的NDEF数据将无法被第三方读取(无视整个点)使用标准。)
标签本身从不为空(如硬盘驱动器),但写入它们的数据可以说有用数据量为零。
被动(标签)NFC设备由有源(电话/阅读器)NFC设备供电。也就是说,有源设备关闭(轮询)磁场,这使得无源设备可以为其内部电路和通信天线获取电力。