Sobes.tech
Junior — Middle

Ar galite paminėti skirtingus Broadcast Receiver tipus, naudojamus Android?

sobes.tech AI

Atsakymas iš AI

Android'e yra du pagrindiniai Broadcast Receiver tipai:

  1. Statiniai (Static) Broadcast Receiveriai — deklaruojami programos manifeste (AndroidManifest.xml). Jie gali gauti skelbiamus pranešimus net jei programa nėra įjungta. Tačiau nuo Android 8.0 (API 26) jų naudojimas yra ribojamas tam tikriems sisteminiams įvykiams, siekiant taupyti išteklius.

  2. Dinaminiai (Dynamic) Broadcast Receiveriai — registruojami programiškai kode (dažniausiai onCreate arba onResume metu) naudojant registerReceiver(). Jie veikia tik kol programa ar komponentas yra įjungtas ir užregistruotas.

Taip pat galima išskirti:

  • Ordered Broadcast Receiveriai — gauna pranešimus seka, su galimybe nutraukti tolesnį perdavimą.
  • Local Broadcast Receiveriai — veikia viduje vienos programos, neperžengia jos ribų, kas didina saugumą ir našumą (LocalBroadcastManager).

Dinaminių registracijos pavyzdys:

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // įvykio apdorojimas
    }
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));