【问题标题】:How to read an NFC tag which is already attached to the device如何读取已连接到设备的 NFC 标签
【发布时间】:2016-08-27 04:18:42
【问题描述】:

我的要求是读取已连接到设备的 NFC 标签。

我在应用程序中观察到以下情况:

NFC 标签已连接到设备且 NFC 已关闭。然后,当我启动我的 Android 应用程序时,它会要求打开 NFC,并且在打开 NFC 后,我的应用程序将读取已连接到设备的 NFC 标签。

NFC 标签已连接到设备并且 NFC 已开启。当我手动启动我的应用程序时,它不会检测到 NFC 标签。

为什么在后一种情况下应用程序没有检测到 NFC 标签?有什么方法可以在应用启动之前(手动)检测和读取已经附加到设备上的标签?

【问题讨论】:

  • 朋友们对这篇文章投了反对票。我可以知道原因吗? :S

标签: android android-intent tags nfc


【解决方案1】:

一般来说这是不可能的。如果标签是新发现的(即标签刚刚被点击),Android 只会将标签分派给应用程序。因此,应用启动时无法访问 NFC 读取器字段中已存在的标签。

由于 Android NFC API 不允许在应用内禁用和重新启用 NFC 功能(这只能通过“设置”应用完成),因此也无法暂时禁用 NFC 读取器来欺骗 Android将标签检测为新点击。

但是,在 Android 版本 >= 4.4 和 enableReaderMode())的实现中存在一个错误(未记录的功能?)导致标签启用阅读器模式后删除。因此,在这些 Android 版本上,您可以使用 enableReaderMode() 重新发现已附加的标签。请注意,虽然这在 AOSP 中有效,但某些设备制造商特定的 Android 修改可能不包含此错误/功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    相关资源
    最近更新 更多