【问题标题】:Custom (NFC) NDEF format自定义 (NFC) NDEF 格式
【发布时间】:2012-05-10 19:11:27
【问题描述】:

我想通过 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 钢

【问题讨论】:

    标签: android nfc ndef


    【解决方案1】:

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

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

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

    【讨论】:

    • 嗨,保持 NFC 的 2.3 兼容性有意义吗?唯一可以升级到 ICS 的手机 Google Nexus S... 那么如果这应该是通用解决方案,不限于 Android(但可用于 Symbian 和 iCarte 420),与 Gingerbread 不兼容,您会推荐什么? NFC 论坛外部类型?
    • Sony Xperia 仍然是 2.3,所以 Nexus S 不是唯一的。如果您不关心 Gingerbread,最合乎逻辑的选择是外部类型,正如您所建议的那样。外部类型正是为此目的而设计的。
    猜你喜欢
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    • 2021-06-11
    • 2013-09-10
    • 1970-01-01
    相关资源
    最近更新 更多