Junior — Middle
Kas saab luua ja registreerida Broadcast Receiveri programmi käivitamise ajal, mitte manifesti kaudu?
sobes.tech AI
Vastus AI-lt
Да, в 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);
В отличие от регистрации в манифесте, динамически зарегистрированные ресиверы живут только пока активен компонент, который их зарегистрировал.