Sobes.tech
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.