我对NFC阅读器和Android手机之间的通信有一些疑问。
第一个主题是Android / NFC阅读器模式: 将唯一标识符从NFC阅读器(ACR122U)传递到Android设备的最佳方法是什么? ACR122U采用点对点,卡仿真或读写器模式?哪种方式可行?如果你想要双向通信,最好的模式是什么?
第二个主题是关于android设备上的监听器: Android阅读器如何触发Android应用程序?当您在NFC阅读器上点按手机时,您是否需要在前面安装Android应用程序,或者在应用程序在后台运行时是否需要编写NFC监听器?
非常感谢。
答案 0 :(得分:3)
这取决于你想要达到的目标。
请参阅this answer以获取更多文献列表。
这三种模式都是可能的,但会给你不同的自由度。
如上所述,在卡仿真模式下使用ACR122U,在读卡器/写卡器模式下使用手机将允许在所有Android版本上进行双向通信。在这种情况下,电话具有询问器的作用(在命令响应协议中)。
如果您只需要/需要支持Android 4.4及更高版本,您也可以在HCE(基于主机的卡仿真)模式和ACR122U处于读写器模式下使用手机。
如果您使用的是Android HCE(手机作为模拟卡):在这种情况下,通信由后台服务处理。设备上不需要用户界面。如果您想在使用手机扫描ACR122U时启动用户界面,我建议您坚持在阅读器/写入器或对等模式下使用Android(尽管您可以启动UI也通过HCE服务)。
如果您在读取器/写入器模式下使用Android:您需要在前台中运行的应用程序与NFC标签/智能卡/模拟卡进行通信。然而 应用程序可以在检测到标签时自动启动。你会 使用与标签技术或。匹配的意图过滤器 (更好的是)匹配存储在标签上的NDEF记录。看到 this了解更多详情。