【问题标题】:URN format for a TNF_EXTERNAL_TYPE NDEF tagTNF_EXTERNAL_TYPE NDEF 标记的 URN 格式
【发布时间】:2016-02-15 06:34:45
【问题描述】:

我的问题是关于 NDEF 标签中 TNF_EXTERNAL_TYPE URN 的正确格式:它应该是“com.mydomain.mydivision”还是“mydivision.mydomain.com”?

Android NFC guide 状态,对于 TNF_EXTERNAL_TYPE NDEF 记录:

URI 基于类型字段中的 URN。 URN 以缩写形式编码到 NDEF 类型字段中: (域名):(服务名)

据我了解,URN/URI 遵循“mydivision.mydomain.com”约定(我错了吗?)

但他们后来写了,in the examples

String domain = "com.example"; //usually your app's package name

再进一步,他们写道:

TNF_EXTERNAL_TYPE 的 URN 具有以下规范格式: urn:nfc:ext:example.com:externalType

所以我不知道该怎么想。什么是正确的格式?如果有任何引用,我将不胜感激。

【问题讨论】:

    标签: android format uri nfc ndef


    【解决方案1】:

    正确的格式是

    urn:nfc:ext::

    <DOMAIN> 定义为

    发行机构的域名

    <TYPE_NAME> 是由该组织管理的不区分大小写的类型名称字符串。

    NFC 论坛记录类型定义规范(从 1.0 版开始)没有明确定义域名格式的任何规则。但是,规范中给出的所有示例都使用RFC 1034 中描述的域名格式。 (这也是有道理的,因为规范引用了RFC 3986 的URI 语法,而这又引用了RFC 1034 的域名格式。)

    因此,域名中最不具体的部分排在最后,因此,您应该使用“mydivision.mydomain.com”格式。

    另外请注意,Android 的 Intent 过滤器机制是区分大小写的,而外部类型名称是不区分大小写的。因此,为避免出现问题,您应该只在类型名称中使用小写字母。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-11
      • 2012-05-10
      • 2019-04-29
      • 2015-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多