Sobes.tech
Junior — Middle

Môžete uviesť rôzne typy Broadcast Receiver používané v Android?

sobes.tech AI

Odpoveď od AI

V Androide existujú dva hlavné typy Broadcast Receiver:

  1. Statické (Static) Broadcast Receivers — deklarované v manifest súbore aplikácie (AndroidManifest.xml). Môžu prijímať broadcast správy aj keď aplikácia nie je spustená. Od Androidu 8.0 (API 26) je ich použitie obmedzené pre niektoré systémové udalosti, aby sa šetrili zdroje.

  2. Dynamické (Dynamic) Broadcast Receivers — sú registrované programovo v kóde (zvyčajne v onCreate alebo onResume aktivity) pomocou registerReceiver(). Sú aktívne len počas behu aplikácie alebo komponentu, ktorý ich registroval.

Tiež možno rozlíšiť:

  • Ordered Broadcast Receivers — prijímajú správy postupne, s možnosťou prerušiť ďalšie šírenie.
  • Local Broadcast Receivers — fungujú v rámci jednej aplikácie, bez jej opustenia, čo zvyšuje bezpečnosť a výkon (LocalBroadcastManager).

Príklad dynamickej registrácie:

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // spracovanie udalosti
    }
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));