android - 如何检测 NFC 标签被移除

标签 android tags nfc mifare detach

我是 NFC 技术的新手。我正在尝试读写 Mifare Classic 4K 标签。我成功地阅读和写作。我可以在 onNewIntent 操作上检测到标签。

我的问题是我无法检测到 NFC 标签何时被移除(类似于检测标签时的 onNewIntent)。

我该如何解决这个问题?

最佳答案

如果标签从阅读器中移除,则不会有任何事件通知您的应用程序。检测移除的典型方法是主动轮询标签(例如,通过读取 NDEF 消息或数据 block ),直到您收到 IOException,表明与标签的通信丢失。


更新

从 Android API 级别 24 开始,这不再适用。现在有一个方法

NfcAdapter.ignore(tag, debounceMs, tagRemovedListener, handler);

可用于注册回调以在删除标签时获取通知。不过此方法可能存在一些问题,因此请仔细阅读 documentation关于副作用/极端情况。

关于android - 如何检测 NFC 标签被移除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36126635/

相关文章:

ios - 是否可以从我的应用程序启动 Apple Pay NFC?

java - resolveUri 在错误的位图 uri 上失败(Android 工作室)

Android 支持包/兼容性库 - 使用 v4 还是 v13?

android - 我在 Android Studio 中收到广播接收器错误作为空点异常。我想接收 GCM 通知

用于标记化的 WPF 控件

java - 正则表达式查找文本中标签之间重复标签的单词

android - 基于标签的 NFC 监听器触发器

android - 无法使用 Gradle 构建 Android 项目(使用 Android 注释)

html - 有没有办法禁用下拉菜单的文本?

iphone - 如何使用蓝牙将设备与 nfc 芯片(twinlinx mymax nfc 芯片)连接