Back to questions
МТС Линк
Junior — Middle
79
Можно ли создать и зарегистрировать Broadcast Receiver во время исполнения программы, а не через манифест?
Companies where asked
Answer from AI
sobes.tech AI
Да, в Android можно создать и зарегистрировать BroadcastReceiver динамически во время выполнения программы, а не только через манифест. Для этого используется метод registerReceiver() в коде, обычно в Activity или Service. Такой прием позволяет принимать широковещательные сообщения только пока активен компонент, что удобно для экономии ресурсов и безопасности.
Пример динамической регистрации:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Обработка полученного сообщения
}
};
// Регистрация
registerReceiver(receiver, new IntentFilter("android.intent.action.SOME_ACTION"));
// Не забывайте отписываться
unregisterReceiver(receiver);
В отличие от регистрации в манифесте, динамически зарегистрированные ресиверы живут только пока активен компонент, который их зарегистрировал.