Junior — Middle
Можете ли да наведете различите типове Broadcast Receiver који се користе у Android-у?
sobes.tech АИ
Одговор од АИ
U Androidu postoje dve glavne vrste Broadcast Receiver-a:
-
Statistički (Static) Broadcast Receiver-i — deklarisani u manifest fajlu aplikacije (
AndroidManifest.xml). Mogu primati broadcast poruke čak i kada aplikacija nije pokrenuta. Međutim, od Android 8.0 (API 26), njihova upotreba je ograničena za određene sistemske događaje radi uštede resursa. -
Dinamički (Dynamic) Broadcast Receiver-i — registrovani programatski u kodu (obično u
onCreateilionResumeaktivnosti) pomoćuregisterReceiver(). Oni su aktivni samo dok je aplikacija ili komponenta pokrenuta i registrovana.
Takođe, mogu se razlikovati:
- Ordered Broadcast Receivers — primaju poruke redom, sa mogućnošću da prekinu dalju transmisiju.
- Local Broadcast Receivers — rade unutar jedne aplikacije, bez izlaska iz nje, što povećava sigurnost i performanse (
LocalBroadcastManager).
Primer dinamičke registracije:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// obrada događaja
}
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));