Junior — Middle
Kas saaksite selgitada, mis on BroadcastReceiver komponent ja kuidas see Androidis töötab?
sobes.tech AI
Vastus AI-lt
BroadcastReceiver on Androidi komponent, mis võimaldab rakendusel saada ja reageerida süsteemi või teiste rakenduste levitatavatele sõnumitele (broadcasts).
Kuidas BroadcastReceiver töötab:
- See registreerub teatud sündmustele (näiteks võrguühendus, SMS vastuvõtt, seadme käivitamine).
- Kui sündmus toimub, saadab süsteem vastava broadcasti.
- Registreeritud BroadcastReceiverid saavad selle broadcasti ja täidavad määratud koodi.
Tavaliselt kasutatakse BroadcastReceiverit:
- Süsteemi sündmustele reageerimiseks ilma rakendust pidevalt käivitamata.
- Taustal ülesannete käivitamiseks vastavalt ajakavale või teatud tingimuste täitumisel.
Näide lihtsast BroadcastReceiverist, mis reageerib seadme sisselülitamisele:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
// Tegevused pärast seadme käivitamist
}
}
}
Registreerimine võib toimuda manifesti kaudu või dünaamiliselt koodis. Oluline on meeles pidada, et alates Android 8.0 (Oreo) on piirangud taustal töötamisele BroadcastReceiveriga ning teatud sündmuste jaoks tuleb kasutada teisi mehhanisme, näiteks JobScheduler.