我希望我的Android设备充当NFC标签。是否可以将NFC设备用作NFC标签?我怎样才能做到这一点?我在设备之间完成了读/写标签,光束数据。
答案 0 :(得分:5)
根据您的NFC设备,这可能是可能的。但是,我不同意kamituel这是由多个应用程序通过Android Beam完成的。
Android Beam使用NFC的点对点模式(虽然它可能有类似的效果)与使用一个设备不一样读者(读/写模式)和一个设备作为标签。点对点模式使用与读取器/写入器模式不同的协议栈进行通信。即在用于对等模式通信的LLCP之上的SNEP之上的NDEF和用于访问NFC标签的读取器/写入器模式之一的标签操作规范之上的NDEF。
因此,只有数据表示层(NDEF)对于两个协议栈都是相同的。在NFC环境中,NDEF(NFC数据交换格式)抽象实际通信部分,并且可能使应用程序不依赖于所使用的数据传输。通过引入他们的Beam UI,Android有点失败了。
如果要模拟标记的NFC设备是Android设备,则在模拟NFC 标记时有一些要求和限制:
与HCE功能并行,Android设备还将向其他设备宣布其对等模式功能。因此,如果您想要使用其他Android设备访问Android HCE模拟NFC标签,则此其他Android设备将看到对等模式功能,并且不会自动处理来自模拟标签的NDEF消息。
为了克服这个限制,阅读Android设备还需要安装Android 4.4或更高版本。从该平台版本开始,您可以使用reader mode API禁用对等模式发现。只有当您这样做时,您才能从第二个Android设备访问模拟的NFC标签。
答案 1 :(得分:1)
是的,有可能。这是由多个应用程序完成的。一个示例是浏览器应用程序,它将使对等设备打开同一页面。通过这样做,浏览器使对等设备的行为几乎与读取被动NFC标签时的行为相同。
关键是将有效的NDEF记录发送到对等设备。例如,要使对等设备打开具有给定URL的浏览器,您可以使用以下记录:
您可以看到NDEF记录字段的值会根据您要提供的内容而有所不同。众所周知的是URI(如上所示),文本记录,智能海报等。
请参阅NdefRecord课程以供参考。
[1] NFCForum-TS-NDEF_1.0
[2] NFCForum-TS-RTD_URI_1.0