我需要通过 android 手机通过 NFC
将一个简单的字符串传输到 PC。为了在 PC 中启用 NFC 功能,我插入了一个 ACR122U
以通过我在 PC 中的 C#
程序从 android 手机读取传输的数据。
我在网上试过很多android实现比如
对于 C#,
但这些都不能正常工作。因为在简单的文本中没有得到传输。我尝试使用 ACR122U
SDK 的示例代码从上述 android 实现中接收数据,但也失败了。
如果你们中的任何专家能提供任何引用/示例/教程/示例代码,以传输从android NFC 启用设备到的简单文本,我将不胜感激通过 ACR122u 的 C# 程序。
非常感谢:) 纠结了几个月,终于向各位高手求助。
附言我尽力引用ACR122U的文档,但它让我无所适从
最佳答案
您正试图将两个完全不相关的通信概念结合起来。
您正在使用的 PC 端应用程序模拟 FeliCa 智能卡(顶部有 NDEF 抽象层)。因此,在 Android 端,您需要以读写器模式访问该模拟智能卡:
注册您的 Android 应用以接收 NFC intent(通过 list 或通过前台调度系统)。对于您的卡,我建议您使用
NfcF
+Ndef
/NdfFormatable
技术注册 NDEF_DISCOVERED Intent 或 TECH_DISCOVERED Intent 。一旦您收到这样的 Intent ,从接收到的打开
Ndef
/NdefFormatable
连接到模拟标签并读/写 NDEF 消息中获取标签句柄.
但是,您目前尝试在 Android 端做的是使用点对点模式(更具体地说是 Android Beam)。 Beam 以点对点模式在两个 NFC 设备之间交换消息,而不是在 NFC 和(模拟的)NFC 标签之间交换消息。在这种情况下,您需要将 ACR122U 置于点对点模式(ISMB-SNEP 项目包含用于此的 Java 代码)。
关于c# - ACR122U - 读取安卓手机发送的NFC数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23855209/