NFC读取器< - > Android通信和Android监听器

时间:2014-06-09 17:49:42

标签: android nfc hce nfc-p2p acr122

我对NFC阅读器和Android手机之间的通信有一些疑问。

第一个主题是Android / NFC阅读器模式: 将唯一标识符从NFC阅读器(ACR122U)传递到Android设备的最佳方法是什么? ACR122U采用点对点,卡仿真或读写器模式?哪种方式可行?如果你想要双向通信,最好的模式是什么?

第二个主题是关于android设备上的监听器: Android阅读器如何触发Android应用程序?当您在NFC阅读器上点按手机时,您是否需要在前面安装Android应用程序,或者在应用程序在后台运行时是否需要编写NFC监听器?

非常感谢。

1 个答案:

答案 0 :(得分:3)

将唯一标识符从NFC阅读器(ACR122U)传递到Android设备的最佳方法是什么?

这取决于你想要达到的目标。

  • 在阅读器/写入器模式下使用ACR122U基本上限制您使用Android 4.4及更高版本(因为Android HCE - 用于将手机置于基于主机的卡仿真模式 - 仅从4.4开始支持)。
  • 点对点模式可以正常工作,但会有效地限制您向一个方向发送一个数据包(或一条消息)。
  • 在卡仿真模式下使用ACR122U将允许您执行真正的双向通信(即向两个方向发送多个数据包)。

请参阅this answer以获取更多文献列表。

哪种模式可能?

这三种模式都是可能的,但会给你不同的自由度。

如果您想进行双向通信,最佳模式是什么?

如上所述,在卡仿真模式下使用ACR122U,在读卡器/写卡器模式下使用手机将允许在所有Android版本上进行双向通信。在这种情况下,电话具有询问器的作用(在命令响应协议中)。

如果您只需要/需要支持Android 4.4及更高版本,您也可以在HCE(基于主机的卡仿真)模式和ACR122U处于读写器模式下使用手机。

当您在NFC阅读器上点按手机时,您是否需要在前面安装Android应用程序,或者在应用程序在后台运行时是否需要编写NFC监听器?

  • 如果您使用的是Android HCE(手机作为模拟卡):在这种情况下,通信由后台服务处理。设备上不需要用户界面。如果您想在使用手机扫描ACR122U时启动用户界面,我建议您坚持在阅读器/写入器或对等模式下使用Android(尽管您可以启动UI也通过HCE服务)。

  • 如果您在读取器/写入器模式下使用Android:您需要在前台中运行的应用程序与NFC标签/智能卡/模拟卡进行通信。然而 应用程序可以在检测到标签时自动启动。你会 使用与标签技术或。匹配的意图过滤器 (更好的是)匹配存储在标签上的NDEF记录。看到 this了解更多详情。