Back to questions
МТС Линк
Junior — Middle
64
Можете назвать различные типы Broadcast Receiver, используемые в Android?
Companies where asked
Viasat tech
Answer from AI
sobes.tech AI
В Android существуют два основных типа Broadcast Receiver:
-
Статические (Static) Broadcast Receivers — объявляются в манифесте приложения (
AndroidManifest.xml). Они могут принимать широковещательные сообщения даже когда приложение не запущено. Однако с Android 8.0 (API 26) их использование ограничено для некоторых системных событий, чтобы экономить ресурсы. -
Динамические (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));