NFC读卡器和手机:无需应用程序进行独特认证

3
我有一个NFC接收器/发送器(取决于配置),我想将其用作NFC接收器,并且当客户将手机靠近它时(现在我选用Android系统),它需要获取某种响应。
由于Android具有“Android Beam”,可以检测到两个手机彼此靠近,因此我希望NFC读取器至少能够接收到一些信息。但是事实并非如此,在我将手机放在天线附近时,NFC接收器没有接收到任何数据。
我已经搜索了很多示例,但我找到的都是如何在Android上实现NFC通信。但理想情况下,我不想实现应用程序。我只需要从设备发送某种唯一的ID到NFC接收器即可。
请问是否有人知道为什么我没有收到任何信息,而当我把两个Android手机放在一起时,Android Beam却能够正常工作?

你的 NFC 接收器/发送器可能没有使用 Android Beam,这是一种非常特定的功能。您可以在 https://developer.android.com/guide/topics/connectivity/nfc/index.html 上阅读 Android 的其他 NFC 编程 API 的相关信息。 "但理想情况下,我不希望实现一个应用程序" - StackOverflow 是用于编程问题的。 - CommonsWare
是的,Stackoverflow是用于编程问题的,但实际上我正在编程,但是嵌入式软件正在使用NFC接收器。事实上它并没有使用Android Beam,但无论如何,我希望能看到一些通信,对吧?否则Beam怎么知道手机是否在附近... - Boy
“我希望能看到一些沟通,对吧?”-- 不知道你的NFC接收器是做什么的,我无法回答。此外,Android Beam并不是一直开启的,只有当有人在应用程序中明确执行某些操作来传输数据时才会开启。 - CommonsWare
是的,但当我把两部手机放在一起时,应用程序会检测到这一点,因此需要以某种方式触发它。嗯,也许我需要制作一个应用程序来向客户展示他确实需要这个应用程序...作为一名Android开发者,我不介意提供它 ;) - Boy
嘿,我找到了一个实际上问了同样问题的主题。我现在要用那个作为起点。我看到我需要在NFC设备端实现一些协议...https://dev59.com/Dmgv5IYBdhLWcg3wJNhF - Boy
1个回答

2
默认情况下,Android 设备会循环检查是否有其他点对点设备、NFC 标签(或任何支持的无触点转换器)或另一个 ISO 14443 读卡器(这通常仅适用于某些 4.4 设备和已激活安全元素的设备)可用。
因此,如果您的 NFC 读卡器处于点对点模式或卡模拟模式下,则应该会收到一些通信:
  1. 在点对点模式下,Android 设备将至少激活 NFC 锁定到 NFC Forum LLCP 协议。
  2. 在读写器模式下(即当您的 NFC 设备处于卡模拟模式时),Android 设备应尝试激活模拟卡并检查 NDEF 数据的可用性。
然而,除非您在设备上安装了提供此功能的应用程序,否则这些都不会为您提供任何(稍微)唯一的设备标识。在读写器模式下,Android 设备不会透露任何可用于识别的数据(尽管您可能能够识别 NFC 芯片组和 Android 版本)。在点对点模式下,Android 设备也不会透露任何有用的数据。在通信通道激活期间交换的 ID 必须按照 NFC 标准(ISO/IEC 18092)是随机的。尽管如此,与 R/W 模式一样,您可能能够识别 NFC 芯片组、Android 版本以及某些设备甚至是设备制造商。

感谢您至今为止给出的最完整的答案!我并不确定我们正在使用的NFC模块是否能够实现我们想要的功能。文档不够详细。目前正在联系制造商以获取他们测试该模块的任何示例。 - Boy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接