Как отключить NFC на определенном экране (активность или фрагмент)? - PullRequest
0 голосов
/ 02 июля 2019

У меня проблема с открытием 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" />

И используется NfcAdapter в MainMactivity. Однако не похоже, что это происходит из-за того, что я запрограммировал. Итак, я удалил по одному. И проверено. Теперь я удалил весь код и настройки manifexts.xml, относящиеся к NFC.

Тем не менее, он все еще работает. Я бы назвал это outer NFC, которое активно везде. Как я могу выключить его? или избежать этого? Я даже не хочу его звука или вибрации. Я не хочу, чтобы это работало.

Однако я хочу, чтобы он был активен в определенном фрагменте. Можно ли так себя вести?

1 Ответ

0 голосов
/ 02 июля 2019

Как я могу выключить его?или избежать этого?

Вам нужно вызвать этот метод из основного потока, чтобы отключить реализацию NFC системного уровня, отвечающую за сканирование и чтение тегов NFC> android.nfc.NfcAdapter # enableForegroundDispatch () ;это дало бы контроль для сканирования и чтения / записи меток NFC в ваш фрагмент / действие.

Я хочу, чтобы он был активен в определенном фрагменте.Можно ли вести себя так?

Вышеупомянутый метод будет работать для достижения этой цели.

Когда вы выходите из приложения, вам необходимо снова отключить отправку переднего плана (который вы только что включили для своего приложения), вызвав android.nfc.NfcAdapter # disableForegroundDispatch () .

Лучший способ - перехватить эти вызовы методов внутри onResume() и onPause()фрагмент / активности.

...