我有一个要求,其中我的应用程序处理NFC。
我已在清单文件中声明了nfc。
<uses-feature
android:name="android.hardware.nfc"
android:required="true"/>
现在,我的问题是,是否可以在特定活动中禁用nfc标记检测。
例如,我有10个活动,我不希望第5个活动检测到nfc。可能吗? 我需要同样的建议。
答案 0 :(得分:0)
您无法阻止设备检测NFC标签。但是,您可以将活动设置为接收(然后忽略)所有NFC发现事件。
为此,您可以使用NfcAdapter的enableForegroundDispatch()
方法在NFC前台调度系统中注册您的活动。这使您的当前活动优先于通过所有其他意图过滤器接收NFC事件。有关如何进行此注册的信息,请参阅Advanced NFC: Using the NFC Foreground Dispatch System。
注册前台调度系统后,您的活动将以onNewIntent()
方式接收所有NFC意图(或作为待处理的意图结果,具体取决于您的注册方式)。在那里,你可以简单地忽略这些事件。
答案 1 :(得分:0)
当您的活动被破坏或暂停时,您只需简单地称呼此人
nfcAdapter.disableForegroundDispatch(getActivity());