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