Junior — Middle
Ar galite paaiškinti, kas yra BroadcastReceiver komponentas ir kaip jis veikia Android?
sobes.tech AI
Atsakymas iš AI
BroadcastReceiver yra Android komponentas, leidžiantis programėlei gauti ir reaguoti į transliuojamas žinutes (broadcasts) iš sistemos ar kitų programėlių.
Kaip veikia BroadcastReceiver:
- Jis registruojasi tam tikriems įvykiams (pvz., tinklo prisijungimas, SMS gavimas, įrenginio įkėlimas).
- Kai įvyksta įvykis, sistema siunčia atitinkamą broadcast.
- Registruoti BroadcastReceiver gauna šį broadcast ir vykdo priskirtą kodą.
Dažniausiai BroadcastReceiver naudojamas:
- Reaguoti į sistemos įvykius be nuolatinio programėlės paleidimo.
- Paleisti fonines užduotis pagal grafiką arba kai įvykdomos tam tikros sąlygos.
Pavyzdys paprasto BroadcastReceiver, kuris reaguoja į įrenginio įjungimą:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
// Veiksmai po įrenginio įjungimo
}
}
}
Registraciją galima atlikti per manifestą arba dinamiškai kode. Svarbu prisiminti, kad nuo Android 8.0 (Oreo) yra apribojimai foniniam BroadcastReceiver darbui, ir kai kuriems įvykiams reikalinga naudoti kitus mechanizmus, pvz., JobScheduler.