Это в основном зависит от ваших требований.Когда вы регистрируете IntentFilter в манифесте, вы указываете действие, которое будет запущено, и даете обнаруженные данные тега в намерении.Это означает, что ваше приложение может быть запущено в любое время для обработки тега.Например, пользователь может находиться на панели запуска и привязать тег к своему телефону, а ваше приложение может использоваться для обработки события обнаружения NFC.
Однако предположим, что у вас есть сценарий, в котором он имеет смысл толькообнаружить тег, когда ваше приложение находится на переднем плане.Например, может быть, ваше приложение требует, чтобы пользователь вошел в систему, чтобы что-то сделать с данными тега.В этом случае вы можете использовать механизм диспетчеризации переднего плана и запускать его из любого вашего класса Activity, чтобы получать результат только тогда, когда ваше приложение активно.
Это очень похоже на BroadcastReceivers, который также может быть либо динамически зарегистрированным, либо указанным в манифесте.В первом случае жизненный цикл приемника находится под вашим контролем.В последнем случае вы говорите, что ваше приложение может быть запущено в любое время.