Junior — Middle
Можете ли објаснити шта је компонентa BroadcastReceiver и како ради у Android-у?
sobes.tech АИ
Одговор од АИ
BroadcastReceiver je komponent Android-a koji omogućava aplikaciji da prima i reaguje na broadcast poruke (broadcasts) od sistema ili drugih aplikacija.
Kako radi BroadcastReceiver:
- Registruje se za određene događaje (npr. povezivanje na mrežu, primanje SMS-a, pokretanje uređaja).
- Kada se dogodi događaj, sistem šalje odgovarajući broadcast.
- Registrovani BroadcastReceivers primaju taj broadcast i izvršavaju dodeljeni kod.
Obično se BroadcastReceiver koristi za:
- Reagovanje na sistemske događaje bez stalnog pokretanja aplikacije.
- Pokretanje pozadinskih zadataka prema rasporedu ili kada su ispunjeni određeni uslovi.
Primer jednostavnog BroadcastReceiver-a koji reaguje na uključivanje uređaja:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
// Akcije nakon pokretanja uređaja
}
}
}
Za registraciju, može se koristiti manifest ili dinamički u kodu. Važno je zapamtiti da od Android 8.0 (Oreo) postoje ograničenja na rad u pozadini za BroadcastReceiver, i za neke događaje je potrebno koristiti druge mehanizme, poput JobScheduler-a.