3

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

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

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

非常感谢。

4

1 回答 1

3

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

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

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

有关进一步文献的列表,请参阅此答案

哪些模式是可能的?

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

如果您想要双向通信,最好的模式是什么?

见上文,在卡模拟模式下使用 ACR122U,在读/写模式下使用手机将允许在所有 Android 版本上进行双向通信。在这种情况下,电话扮演询问者的角色(在命令响应协议中)。

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

当您在NFC阅读器上点击您的手机时,您是否需要将Android应用程序放在前面,或者您是否需要在您的应用程序在后台运行时编写一个NFC监听器或其他东西?

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

  • 如果您在读写器模式下使用 Android:您需要一个在前台运行的应用程序才能与 NFC 标签/智能卡/仿真卡通信。但是,应用程序可以在检测到标签后自动启动。您将使用匹配标签技术或(更好)匹配存储在标签上的 NDEF 记录的意图过滤器。有关更多详细信息,请参阅 内容。

于 2014-06-10T22:02:04.470 回答