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.