Sobes.tech
Назад к вопросам
Junior — Middle
65

Можете назвать различные типы Broadcast Receiver, используемые в Android?

Компании, где спрашивали
МТС ЛинкМТС Линк
Viasat tech

Ответ от нейросети

sobes.tech AI

В Android существуют два основных типа Broadcast Receiver:

  1. Статические (Static) Broadcast Receivers — объявляются в манифесте приложения (AndroidManifest.xml). Они могут принимать широковещательные сообщения даже когда приложение не запущено. Однако с Android 8.0 (API 26) их использование ограничено для некоторых системных событий, чтобы экономить ресурсы.

  2. Динамические (Dynamic) Broadcast Receivers — регистрируются программно в коде (обычно в onCreate или onResume активности) с помощью registerReceiver(). Они активны только пока приложение или компонент запущен и зарегистрирован.

Также можно выделить:

  • Ordered Broadcast Receivers — получают сообщения последовательно, с возможностью прервать дальнейшую передачу.
  • Local Broadcast Receivers — работают внутри одного приложения, не выходя за его пределы, что повышает безопасность и производительность (используется LocalBroadcastManager).

Пример динамической регистрации:

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // обработка события
    }
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));