Što je prijemnik emitiranja?
* Događaji sustava: Pokretanje, isključivanje, prazna baterija, promjene vremena itd.
* Radnje korisnika: Dolazni pozivi, SMS poruke, uključivanje/isključivanje ekrana itd.
* Prijave: Aplikacije mogu slati prilagođena emitiranja za komunikaciju s drugim aplikacijama ili komponentama.
Ovdje je pregled onoga što emitirani prijamnik radi:
* Registri: Prijemnik emitiranja definirate u datoteci manifesta svoje Android aplikacije, navodeći emitiranja koja bi trebao slušati.
* Sluša: Kada sustav ili aplikacija pošalje emitiranje, pokreće se metoda `onReceive()` prijemnika emitiranja.
* Odgovara: Metoda `onReceive()` prima namjeru emitiranja koja sadrži informacije o događaju. Zatim možete implementirati logiku za obradu događaja, kao što je:
* Prikazivanje obavijesti: Na primjer, prikazivanje obavijesti kada stigne novi SMS.
* Pokretanje usluge: Na primjer, pokretanje usluge reprodukcije glazbe kada korisnik uključi slušalice.
* Ažuriranje korisničkog sučelja: Na primjer, ažuriranje elementa korisničkog sučelja kako bi odražavao trenutnu razinu baterije.
* Izvođenje drugih radnji: Kao što je pisanje podataka u bazu podataka, postavljanje mrežnog zahtjeva ili pokretanje druge aktivnosti.
Ključne točke:
* Kratkotrajno: Metoda `onReceive()` prijemnika emitiranja trebala bi se brzo izvršiti. Dizajniran je za obavljanje kratkih radnji, a ne dugotrajnih zadataka.
* Nema interakcije korisničkog sučelja: Prijemnici emitiranja ne mogu izravno komunicirati s korisničkim sučeljem (UI). Da biste ažurirali korisničko sučelje, trebali biste pokrenuti drugu komponentu, poput aktivnosti.
* Statičko naspram dinamičkog: Prijemnici emitiranja mogu se registrirati statički u manifestu ili dinamički u kodu. Statički prijemnici uvijek rade i prikladni su za događaje u cijelom sustavu. Dinamički prijamnici registriraju se po potrebi i imaju kraći životni vijek.
Primjeri prijemnika emitiranja:
* SMS primatelj: Prima dolazne SMS poruke i prikazuje ih korisniku.
* Prijamnik baterije: Prati razinu baterije i u skladu s tim ažurira element korisničkog sučelja.
* Primatelj promjene mreže: Otkriva promjene u mrežnoj povezanosti i izvodi odgovarajuće radnje, poput ponovnog pokušaja mrežnih zahtjeva.
* Primatelj promjene vremena: Ažurira vrijeme uređaja i izvodi sve potrebne radnje, poput ažuriranja mjerača vremena ili događaja u kalendaru.
Ukratko, Broadcast Receivers temeljna su komponenta u Androidu za reagiranje na sistemske događaje i poruke, omogućujući vašoj aplikaciji da bude osjetljiva i integrirana s Android ekosustavom.