Sobes.tech
Junior — Middle

Puteți numi diferitele tipuri de Broadcast Receiver utilizate în Android?

sobes.tech AI

Răspuns de la AI

În Android, există două tipuri principale de Broadcast Receiver:

  1. Broadcast Receivers Statice (Static) — declarate în fișierul manifest al aplicației (AndroidManifest.xml). Pot primi mesaje broadcast chiar dacă aplicația nu rulează. Cu toate acestea, începând cu Android 8.0 (API 26), utilizarea lor este limitată pentru anumite evenimente sistemice pentru a economisi resurse.

  2. Broadcast Receivers Dinamice (Dynamic) — înregistrate programatic în cod (de obicei în onCreate sau onResume al activității) folosind registerReceiver(). Sunt active doar atât timp cât aplicația sau componenta rulează și este înregistrată.

De asemenea, se pot distinge:

  • Ordered Broadcast Receivers — primesc mesajele în ordine, cu posibilitatea de a opri transmiterea ulterioară.
  • Local Broadcast Receivers — funcționează în interiorul unei aplicații, fără a ieși din ea, ceea ce crește securitatea și performanța (LocalBroadcastManager).

Exemplu de înregistrare dinamică:

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