Android 如何将两种类型的信息写入nfc标签,并使阅读器同时读取它们?
我正在做一个移动编程项目。该移动程序旨在写入uri信息,如uri有效载荷和wifi凭据,以便当您点击nfc标记时,可以连接到wifi并在浏览器中打开uri 我已经测试过将两个信息写入一个nfc标签,但它似乎不能同时提供两个操作 如果项目成功点击nfc标签,手机必须弹出wifi连接并在浏览器中打开uri。Android 如何将两种类型的信息写入nfc标签,并使阅读器同时读取它们?,android,uri,wifi,nfc,ndef,Android,Uri,Wifi,Nfc,Ndef,我正在做一个移动编程项目。该移动程序旨在写入uri信息,如uri有效载荷和wifi凭据,以便当您点击nfc标记时,可以连接到wifi并在浏览器中打开uri 我已经测试过将两个信息写入一个nfc标签,但它似乎不能同时提供两个操作 如果项目成功点击nfc标签,手机必须弹出wifi连接并在浏览器中打开uri。 如果有人有线索的话,我会很乐意跟随 NDEF消息由NDEF记录组成。在这种情况下,消息应包括4条记录,即: URI记录类型表示 建议的行动记录 标题记录 WifiSimpleC配置记录由Wi-F
如果有人有线索的话,我会很乐意跟随 NDEF消息由NDEF记录组成。在这种情况下,消息应包括4条记录,即:
----------
偏移量内容长度解释
0 0xD1 1 NDEF标头。TNF=0x01(众所周知的类型)。SR=1,MB=1,ME=1
1 0x02 1记录名称长度(2字节)
2 0x30 1智能海报数据的长度(48字节)
3“Sp”2记录名称
5 0x81 1 NDEF头。TNF=0x01,SR=0,MB=1,ME=0
6 0x01 1记录名称长度(1字节)
7 0x00,0x00,0x00,0x0C 4 URI有效负载的长度(12字节)(长格式)
11“U”1记录类型:“U”
12 0x03 1缩写:“http://”
13“example.com”11 URI本身。
24 0x11 1 NDEF记录头(SR=1,TNF=0x01)
25 0x03 1记录名称的长度
26 0x01 1“act”有效负载的长度。
27“act”3记录类型:“act”
30 0x00 1操作=启动浏览器
31 0x11 1 NDEF记录头(SR=1,TNF=0x01)
32 0x01 1记录名称的长度
33 0x12 1记录有效负载的长度(18字节)
34“T”1记录类型:“T”(=文本)
35 0x05 1个文本状态字节(UTF-8,五字节代码)
36“en US”5 ISO语言代码:美国英语
41“Hello,world”12文本:“Hello world”,以UTF-8编码。
----------
要回答您的问题,即是否有可能让Android reader处理这些多条记录,我们应该查看此系统创建具有
-action=NfcAdapter.action\u NDEF\u DISCOVERED
-MimeType=第一条记录的MimeType
-Intent的额外NfcAdapter.Extra\u NDEF\u消息包含完整的NDEF消息
因此,Android只填充第一条记录的mimetype。
剩下来的就是应用程序或服务,它将根据需要处理所有NDEF记录。感谢您的深入解释!我已经体验到,默认情况下,没有任何第三方应用程序,原生android nfc阅读器读取第一个遇到的mime类型。我无法让android同时读取两种类型的MIMEType,我很好奇以前是否有人这样做过,因为这个项目需要在没有第三方应用的情况下这样做!