首页 > 解决方案 > NFC阅读器没有在android中连续读取NFC标签

问题描述

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

https://github.com/andijakl/NfcDemo

标签: androidnfcdeadobjectexception

解决方案


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

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

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

从源代码方面来看,Demo 看起来对于使用旧的 NFC API 是正确的,并且应该可以很好地读取 NDEF 消息。

较旧的 NFC API 对于 NDEF 写入或读取或写入非 NDEF 数据非常不可靠,这是因为它会通过您无法控制的检测声音提示用户很差。

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


推荐阅读