c# - ACR122U - 读取安卓手机发送的NFC数据

标签 c# android nfc nfc-p2p acr122

我需要通过 android 手机通过 NFC 将一个简单的字符串传输到 PC。为了在 PC 中启用 NFC 功能,我插入了一个 ACR122U 以通过我在 PC 中的 C# 程序从 android 手机读取传输的数据。

我在网上试过很多android实现比如

对于 C#,

但这些都不能正常工作。因为在简单的文本中没有得到传输。我尝试使用 ACR122U SDK 的示例代码从上述 android 实现中接收数据,但也失败了。

如果你们中的任何专家能提供任何引用/示例/教程/示例代码,以传输android NFC 启用设备到的简单文本,我将不胜感激通过 ACR122uC# 程序

非常感谢:) 纠结了几个月,终于向各位高手求助。

附言我尽力引用ACR122U的文档,但它让我无所适从

最佳答案

您正试图将两个完全不相关的通信概念结合起来。

您正在使用的 PC 端应用程序模拟 FeliCa 智能卡(顶部有 NDEF 抽象层)。因此,在 Android 端,您需要以读写器模式访问该模拟智能卡:

  1. 注册您的 Android 应用以接收 NFC intent(通过 list 或通过前台调度系统)。对于您的卡,我建议您使用 NfcF + Ndef/NdfFormatable 技术注册 NDEF_DISCOVERED Intent 或 TECH_DISCOVERED Intent 。

  2. 一旦您收到这样的 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/

相关文章:

c# - 为什么我的论点似乎被 vhost.exe 覆盖了

c# - 如何建立包含变量的路径?

c# - 可以从其输出预测 Random.Next()

java - 与 FileProvider 共享原始文件夹中的文件

android - Android 运行时 (ART) 中原生和 Java 的统一堆栈

c# - 部署应用程序后, Controller 操作因空引用异常而不断失败?

java - 尝试找出该方法不起作用的原因

android - 发现 NFC_TECH 时打开 Android Activity

macos - 适用于 Mac OSX 的 ACR122U SDK

android - 如何模拟 Android NFC 标签对象进行单元测试