NFC阅读器没有在android中连续读取NFC标签

Posted

技术标签:

【中文标题】NFC阅读器没有在android中连续读取NFC标签【英文标题】:NFC Reader is not reading NFC tag continuously in android 【发布时间】:2021-03-10 00:02:10 【问题描述】:

我正在使用下面的示例代码读取 NFC 标签,但它没有多次读取标签(有时读取 3 次,有时读取 6-7 次)。 在我的应用程序中,我需要连续读取 nfc 标签。

https://github.com/andijakl/NfcDemo

【问题讨论】:

【参考方案1】:

NFC 读取对于 NFC 标签的确切位置可能非常挑剔。 在理想条件下,当与手机天线对齐时,该范围通常约为 4cm Max,但未对齐会显着减小此范围。 一些较小的(非信用卡标签)天线较小,因此更有可能无法对齐并缩小范围。 大气和其他条件也会降低范围。

如此可靠的 NFC 读取要求标签在范围内足够长的时间才能被读取,而 NFC 读取数据速率并不快,因此大量读取需要更多时间。

因此,您可能需要确保将标签与天线正确对齐,以获得可靠的 NDEF 读取。如果 NFC 天线的中心未标有 NFC 徽标,请尝试从不同方向接近标签或简单的场检测器 (https://www.youtube.com/watch?v=dTv4U5fotM0) 以识别场的边缘以估计其中心。

从源代码方面来看,演示看起来可以正确使用旧的 NFC API,并且应该可以正常读取 NDEF 消息。

但是

较旧的 NFC API 在用于 NDEF 写入或读取或写入非 NDEF 数据时极其不可靠,这是因为它无法控制您无法控制的检测声音提示用户。

如果你想做除了简单的 NDEF 阅读之外的任何事情,我建议你使用新的更好的enableReaderMode API 示例代码来使用enableReaderMode API

【讨论】:

以上是关于NFC阅读器没有在android中连续读取NFC标签的主要内容,如果未能解决你的问题,请参考以下文章

Android 简单 NFC 阅读器应用程序源代码错误。它不会读取任何 nfc 标签?

通过 NFC 部署 iPhone/Android 应用程序

从 NFC 阅读器直接读取到桌面 Web 应用程序?

如何在Android中测量NFC RSSI?

是否可以使用 PhoneGap 读取 nfc 标签 UID?如何?

如何在android中测量NFC RSSI?