android - 通过 NFC 将数据从 Android 设备传输到 PC

标签 android nfc hce nfc-p2p acr122

我正在尝试为医院开发 Android 应用程序。在本系统中需要利用NFC技术将android手机数据库中存储的患者信息获取到台式电脑中。有什么地方可以使用 NFC USB 读取设备(ACR122U NFC 智能卡读写器 RFID Writer 5 Mifare USB)将数据从手机传输到我的台式电脑?

真实的场景是,在医院里,当一个人想要获取一些测试结果时,他会到达柜台并将移动设备放在安装在柜台上的 NFC 读取器设备上,完成所有细节关于患者的信息应转移到柜台的台式机上。

我不想传输太多信息,如果有任何方法可以使用 NFC 将存储在移动数据库中的患者 ID 传输到桌面就足够了。

最佳答案

根据您想与 ACR122U NFC 读写器结合使用的 NFC 设备,您有多种选择:

  • 如果您只需要在一个方向上交换单个消息(数据包),您可以使用点对点模式。然而,对等协议(protocol)栈相对复杂(与其他替代方案相比)。此外,Android 的内置 Beam 功能将请求用户对每次消息传输进行确认(Beam UI)。

  • 如果您只需要支持 Android 4.4 或更高版本的 Android 设备(即便如此,并非所有 Android NFC 设备都受支持,请参阅 this ),您可以在读取器/写入器模式下使用 ACR122U。在读写器模式下,ACR122U 可以与非接触式智能卡进行通信。查看reader's manual如何访问此类 ISO/IEC 14443-4 非接触式智能卡。在 Android 端,您将使用基于主机的卡仿真 (HCE) 模式。查看Android documentation关于它在 Android 4.4 及更高版本上的工作原理。

  • 在我看来,最好的选择是在卡仿真模式下使用 ACR122U。在卡模拟模式下,ACR122U 可用于模拟标签/非接触式智能卡,Android 设备可以像任何其他 NFC 标签/非接触式智能卡一样检测到该卡。您可以找到示例,例如 libnfc .另见 this answer关于如何使 ACR122U 进入卡仿真模式。此选项可用于所有 Android 版本(以及 BlackBerry 和一些额外的努力,甚至在 Windows Phone 上)。在这种情况下,电话将作为通信中的读卡器(询问器)部分,而 ACR122U(和连接的 PC)将成为卡(受控组件)。使用类似 inverse reader mode 的技术你可以扭转这种关系。

关于android - 通过 NFC 将数据从 Android 设备传输到 PC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24096356/

相关文章:

在模拟器中运行时不显示 Android 可扩展列表。

android - 从 Android Studio 中的 Gradle 项目中导出未签名的 apk

android - 使用 Android HCE 模拟不同的卡

android - NFC-V ICODE SLIX (SL2S2002)

安卓 HCE : are there rules for AID?

android - RemoteViewsService 不执行,

android - 仅在一次构建中清除特定数据

android - 在android教程中将数据写入NFC标签

android - NFC Reader <-> Android通信和Android监听器

android - 是否可以使 Android HCE 向后兼容(适用于 4.4/KitKat 以下的版本)?