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 标签?