Android 避免在活动中检测到nfc标记

Android 避免在活动中检测到nfc标记,android,android-activity,nfc,Android,Android Activity,Nfc,我有一个要求,我的申请涉及NFC 我已经在清单文件中声明了nfc <uses-feature android:name="android.hardware.nfc" android:required="true"/> 现在,我的问题是,是否可以在特定活动中禁用nfc标记检测 例如,我有10个活动,我不希望第5个活动检测nfc。可能吗? 我需要同样的建议。您无法真正阻止设备检测NFC标签。但是,您可以将活动设置为接收(然后忽略)所有NFC发现事件 为此,您需要使用

我有一个要求,我的申请涉及NFC

我已经在清单文件中声明了nfc

<uses-feature
    android:name="android.hardware.nfc"
    android:required="true"/>

现在,我的问题是,是否可以在特定活动中禁用nfc标记检测

例如,我有10个活动,我不希望第5个活动检测nfc。可能吗?
我需要同样的建议。

您无法真正阻止设备检测NFC标签。但是,您可以将活动设置为接收(然后忽略)所有NFC发现事件

为此,您需要使用NfcAdapter的方法向NFC前台调度系统注册您的活动。这使您的当前活动在接收NFC事件时优先于所有其他意图过滤器。请参阅有关如何进行此注册的信息


一旦您注册前台调度系统,您的活动将在其
onNewIntent()
方法中接收所有NFC意图(或作为待定意图结果,具体取决于您的注册方式)。在这里,您可以简单地忽略这些事件。

当您的活动处于销毁或暂停状态时,您只需调用此事件即可

 nfcAdapter.disableForegroundDispatch(getActivity());

你救了我一天,兄弟,只要禁用disableForegroundDispatch,一切都好