您无法真正阻止设备检测 NFC 标签。但是,您可以做的是将您的 Activity 设置为接收(然后忽略)所有 NFC 发现事件。
enableForegroundDispatch()
方法向 NFC 前台调度系统注册您的活动。这使您当前的活动在接收 NFC 事件时优先于所有其他意图过滤器。请参阅高级 NFC:使用 NFC 前台调度系统了解如何进行此注册。
一旦您注册了前台调度系统,您的 Activity 将在其
onNewIntent()
方法中接收所有 NFC 意图(或作为待处理的意图结果,具体取决于您的注册方式)。在那里,您可以简单地忽略这些事件。
当你的 Activity 被销毁或暂停时,你只需调用这个即可
nfcAdapter.disableForegroundDispatch(getActivity());