Sobes.tech
Junior — Middle

Meg tudná nevezni az Androidban használt különböző Broadcast Receiver típusokat?

sobes.tech MI

Válasz az MI-től

Androidon két fő típusú Broadcast Receiver létezik:

  1. Statikus (Static) Broadcast Receiver-ek — az alkalmazás manifest fájljában (AndroidManifest.xml) vannak deklarálva. Képesek fogadni széles körű üzeneteket akkor is, ha az alkalmazás nincs futásban. Azonban az Android 8.0 (API 26) óta korlátozva vannak bizonyos rendszer eseményekre, hogy erőforrásokat takarítsanak meg.

  2. Dinamikus (Dynamic) Broadcast Receiver-ek — programozottan regisztrálják őket a kódban (általában az onCreate vagy onResume metódusban) a registerReceiver() segítségével. Csak akkor aktívak, amíg az alkalmazás vagy a komponens fut és regisztrálva van.

Ezen kívül megkülönböztethetjük:

  • Ordered Broadcast Receiver-ek — sorban kapják az üzeneteket, lehetőség van a további továbbítás megszakítására.
  • Local Broadcast Receiver-ek — egy alkalmazaton belül működnek, nem lépnek ki belőle, így növelik a biztonságot és a teljesítményt (LocalBroadcastManager).

Dinamikus regisztráció példája:

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // esemény feldolgozása
    }
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));