Чтение меток NFC только из определенной деятельности

Я сначала расскажу тебе, что я делаю. У меня есть три действия в последовательности,

Activity1 >> деятельности2>>Activity3. Теперь я хочу читать теги NFC только из Activity2, когда я нажимаю на тег. Мое приложение не должно читать теги, когда я нахожусь в Activity1 или Activity3. Как я должен это сделать, есть ли возможность включения / выключения? какое-либо свойство для того же? Я не хочу предлагать пользователю включить / отключить NFC в настройках для этой цели.

2 ответа

Решение

Как приложение переднего плана, ваше приложение всегда будет иметь возможность сначала отреагировать на тронутый тег. Поэтому вам нужно включить forgraoundDsipatch для ваших действий, а в Activity1 и Activity3 просто проигнорировать событие, а в Activity2 обработать информацию о тронутом теге. В противном случае, если ваше приложение не воспримет событие обнаруженного тега, система диспетчеризации Android продолжит поиск подходящего приложения для запуска и, когда оно найдет его, запустит его поверх вашего приложения.

Для получения дополнительной информации о Foreground Dispatch смотрите здесь: http://developer.android.com/guide/topics/nfc/advanced-nfc.html

Устанавливайте фильтр намерений только для тех целей NFC, которые вас интересуют в Activity2. См. Пример Android NFC AndroidManifest.xml для примера.

Другие вопросы по тегам