URN格式为TNF

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

Android NFC指南指出,对于TNF_EXTERNAL_TYPE NDEF记录:

基于类型字段中的URN的URI。 URN以缩写形式编码到NDEF类型字段中:(domain_name):( service_name)

并从我的理解,URNs / URIs遵循“mydivision.mydomain.com”公约(我错了吗?)

但是他们在后面的例子中写道:

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

再进一步,他们写道:

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

所以我不知道在这里想什么。 什么是正确的格式? 如果有任何问题,我会很感激来自规范的报价。


正确的格式是

urn:nfc:ext:<DOMAIN>:<TYPE_NAME>

其中<DOMAIN>被定义为

发行机构的域名

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

NFC论坛记录类型定义规范(截至版本1.0)没有明确定义域名格式的任何规则。 然而,本规范中给出的所有示例均使用RFC 1034中描述的域名格式。(这也是有意义的,因为规范是指URI 396的URI语法,而RFC 3986又指RFC 1034中的域名格式。)

因此,域名中最不具体的组件是最后一个,因此,您应该使用格式“ mydivision.mydomain.com ”。

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

链接地址: http://www.djcxy.com/p/12089.html

上一篇: URN format for a TNF

下一篇: Can you give an example of a URN for private