我在打开Complete action using
弹出窗口时遇到问题。当我检测到NFC时。我像这样在清单中设置活动:
<action android:name="android.nfc.action.TECH_DISCOVERED" />
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<action android:name="android.nfc.action.TAG_DISCOVERED" />
并在MainMactivity中使用NfcAdapter
。但是,由于我编写的程序,这似乎没有发生。因此,我一一删除。并经过测试。现在,我删除了与manifexts.xml
相关的NFC
的所有代码和设置。
但是,它仍在工作。我将其称为outer NFC
,它在任何地方都有效。如何关闭它?还是避免?我什至不想要它的声音或振动。我不希望它起作用。
但是,我希望它在特定片段中处于活动状态。可以这样表现吗?
答案 0 :(得分:0)
如何关闭它?还是避免?
您需要从主线程调用此方法以禁用负责扫描和读取NFC标签的系统级NFC实现> android.nfc.NfcAdapter#enableForegroundDispatch();它将控制扫描和读取/写入NFC标签到您的片段/活动。
我希望它在特定片段中处于活动状态。是否有可能 会这样吗?
上述方法将为您实现这一目标。
离开应用程序时,需要通过调用android.nfc.NfcAdapter#disableForegroundDispatch()再次禁用前台调度(刚刚为应用程序启用)。
更好的方法是将这些方法调用挂接到片段/活动的onResume()
和onPause()
中。