自定义 (NFC) NDEF 格式



我想通过 LLCP 在一个 NDEF 记录中的 NDEF 消息中传输自定义数据(或者可能有效负载将在多个 NDEF 记录中分块(。传输的内容是具有特定格式的文件,仅在特定应用程序中具有意义。那么,指定 NDEF 标头的最佳方法是什么?

1( 将TNF设置为0x04(NFC论坛外部类型(,0x03(绝对URI(或0x05(未知(?0x04将在 TYPE 字段中具有自定义相对 URI,如果是绝对 URI,则0x03绝对 URI。我不太喜欢0x05,因为接收设备无法识别用于处理数据的应用程序,因为在这种情况下 TYPE 必须为空(这里只有 ID 字段可以提供帮助(。

2( ID 字段用于 NDEF 消息的唯一性,因此可以为空,也可以包含表单中的自定义标识符,例如 com.company.nfc.application_name&id=message_generated_uuid

我的观点是 - 使用 TNF 0x03或0x04 是一种首选方法,除非消息需要一些额外的标识,否则将 ID 留空,最好在有效载荷之外传输。

BRSTeN

如果您的应用程序也必须与Android 2.3 Gingerbread和其他平台一起使用,我建议您使用自己定义的MIME类型(TNF字段设置为0x02(。

Android 2.3不支持外部类型,所以我不建议这样做。使用未知类型无助于识别要使用的有效负载和/或应用。Android 将绝对 URI 类型与众所周知的类型 URI RTD"U"视为相同,因此可能会导致混淆。我不知道有任何平台将使用 ID 字段来识别要使用的应用程序。

您还可以在消息末尾添加包含应用软件包名称的 Android 应用程序记录。在 Android 4 ICS 上,这将使您的应用优先于基于 NDEF 消息类型的任何其他潜在匹配项。

最新更新