3

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

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

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

我的意见是 - 使用 TNF 0x03 或 0x04 是一种首选方式,除非消息需要一些额外的标识,否则将 ID 留空,这将更好地在有效负载之外传输。

BR 斯坦

4

1 回答 1

3

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

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

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

于 2012-05-01T15:25:28.940 回答