Sobes.tech
Junior — Middle

Можете ли да наведете различите типове Broadcast Receiver који се користе у Android-у?

sobes.tech АИ

Одговор од АИ

U Androidu postoje dve glavne vrste Broadcast Receiver-a:

  1. 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.

  2. Dinamički (Dynamic) Broadcast Receiver-i — registrovani programatski u kodu (obično u onCreate ili onResume aktivnosti) pomoću registerReceiver(). 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));