Ответ
Некоторые компоненты, такие как BroadcastReceiver, можно не объявлять в AndroidManifest.xml, если они регистрируются программно через Context.registerReceiver(). Это удобно для динамических ресиверов, работающих только во время жизни активности/сервиса.
Пример:
val receiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
// Обработка события
}
}
val filter = IntentFilter("com.example.ACTION_EVENT")
registerReceiver(receiver, filter)
Важно: такие ресиверы автоматически отменяются при уничтожении контекста (например, активности). Для ContentProvider, Activity, Service и статических BroadcastReceiver объявление в манифесте обязательно.