Sobes.tech
Junior — Middle

Môžete vysvetliť, čo je komponent BroadcastReceiver a ako funguje v Androide?

sobes.tech AI

Odpoveď od AI

BroadcastReceiver je komponenta Androidu, ktorá umožňuje aplikácii prijímať a reagovať na broadcast správy (broadcasts) od systému alebo iných aplikácií.

Ako funguje BroadcastReceiver:

  • Registruje sa na určité udalosti (napríklad pripojenie k sieti, prijatie SMS, spustenie zariadenia).
  • Keď nastane udalosť, systém odošle príslušný broadcast.
  • Registrované BroadcastReceivery tento broadcast prijímajú a vykonávajú priradený kód.

Zvyčajne sa BroadcastReceiver používa na:

  • Reagovanie na systémové udalosti bez neustáleho spúšťania aplikácie.
  • Spúšťanie úloh na pozadí podľa plánu alebo pri splnení určitých podmienok.

Príklad jednoduchého BroadcastReceiver, ktorý reaguje na zapnutie zariadenia:

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            // Akcie po spustení zariadenia
        }
    }
}

Registráciu je možné vykonať v manifeste alebo dynamicky v kóde. Je dôležité pamätať, že od Androidu 8.0 (Oreo) existujú obmedzenia na prácu na pozadí s BroadcastReceiver, a pre niektoré udalosti je potrebné použiť iné mechanizmy, napríklad JobScheduler.