首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NFC设备作为NFC标记

使用NFC设备作为NFC标记
EN

Stack Overflow用户
提问于 2014-08-06 10:20:12
回答 2查看 5.6K关注 0票数 4

我想让我的android设备充当NFC标签。是否可以使用NFC设备作为NFC标记?我怎样才能做到这一点?我做过读写标签,传输设备之间的数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-07 05:56:48

根据NFC设备的不同,这可能是可能的。然而,我不同意卡米图的观点,即这是由多个应用程序通过Android完成的。

Android使用NFC的点对点模式,这种模式(虽然可能有类似的效果)是,而不是使用一个设备作为读取器(读取器/写入模式)和一个设备作为标记的。对等模式使用与读取器/写入器模式不同的协议栈进行通信。也就是说,NDEF在SNEP之上,在LLCP之上,用于对等模式通信,NDEF在读/写模式访问NFC标记的一个标签操作规范之上。

因此,对于两个协议栈,只有数据表示层(NDEF)是相同的。在NFC环境中,NDEF (NFC数据交换格式)抽象出实际的通信部分,并可能使应用程序不依赖于所使用的数据传输。Android只是没有通过引入他们的Beam来实现这个功能。

如果要模拟标记的NFC设备是Android设备,则在模拟NFC 标记时有一些要求和限制。

  • 仿真设备需要运行Android4.4或更高版本。
  • 仿真装置需要支持基于主机的卡仿真.对于许多使用NXP的PN544 NFC控制器的设备来说,情况并非如此。
  • 您只能根据NFC论坛类型4标签操作规范来模拟NFC标记。这是由于Android的限制,它只允许在ISO/IEC 14443-4之上模拟ISO/IEC 7816-4应用程序结构。

在HCE功能的同时,Android设备还将向其他设备宣布其对等模式功能。因此,如果您想使用另一个Android设备访问Android模拟的NFC标记,这个其他Android设备将看到对等模式的功能,并且不会自动处理来自模拟标记的NDEF消息。

为了克服这个限制,阅读Android设备还需要使用Android4.4或更高版本。从该平台版本开始,您可以使用读取器模式API禁用对等模式发现。只有这样,您才能从第二个Android设备访问模拟的NFC标记。

票数 7
EN

Stack Overflow用户

发布于 2014-08-06 10:27:28

是的,这是可能的。这是由多个应用程序完成的。一个例子是浏览器应用程序,它将导致对等设备打开相同的页面。通过这样做,浏览器使对等设备的行为实际上与读取被动NFC标记时相同。

关键是将有效的NDEF记录发送到对等设备。例如,要使对等设备使用给定的URL打开浏览器,可以使用以下记录:

  • TNF:众所周知(0x01,根据1)
  • 类型:'U‘- (0x55,按2)
  • 有效载荷: URL -通常是UTF-8编码,可能有缩写(有关说明见2)
  • id: null (您可能在这里放了一些值,但没有必要)

可以看到,NDEF记录字段的值根据您想要服务的内容而有所不同。众所周知的是URI(如上面所示)、文本记录、智能海报等。

有关引用,请参见NdefRecord类。

1 NFCForum-TS-NDEF_1.0

2 NFCForum-TS-RTD_URI_1.0

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25157878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档