Sobes.tech
Middle

Milyen BroadcastReceiver típusokat ismersz?

sobes.tech MI

Válasz az MI-től

  1. Rendezett Broadcast:

    • A broadcast egymás után kerül átadásra a címzetteknek, egyenként.
    • Minden címzett feldolgozhatja vagy módosíthatja a broadcast eredményét, valamint megszakíthatja azt, hogy ne jusson el a következő címzettig.
    • A kézbesítés sorrendjét a címzett prioritása (android:priority a manifestben) határozza meg.
  2. Normál Broadcast:

    • Ez a leggyakoribb típus.
    • A broadcast üzenet azonnal eljut minden érdeklődő címzetthez, mind deklaratív (a manifestben), mind dinamikus (a Context.registerReceiver() segítségével) regisztrálva.
    • A fogadás sorrendje nem garantált.
    • A címzett nem állíthatja meg az üzenet terjedését.
  3. Helyi Broadcast:

    • Csak egy alkalmazáson belüli üzenetcserére használják.
    • A LocalBroadcastManager osztály által valósított.
    • Hatékonyabb és biztonságosabb, mivel az üzenetek nem hagyják el az alkalmazást, és nem befolyásolják a rendszer többi alkalmazását.
    • Nem szükséges a címzettek deklarálása a manifestben.
    • Csökkenti a rendszer terhelését a globális broadcastokhoz képest.
// Dinamikus BroadcastReceiver regisztráció példája
BroadcastReceiver myReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // Üzenet feldolgozási logika
    }
};

IntentFilter filter = new IntentFilter("MY_ACTION");
registerReceiver(myReceiver, filter);

// Normál Broadcast küldése példája
Intent broadcastIntent = new Intent("MY_ACTION");
sendBroadcast(broadcastIntent);

// A LocalBroadcastManager használata példája
// Példány megszerzése
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this);

// Regisztráció
localBroadcastManager.registerReceiver(myReceiver, filter);

// Küldés
localBroadcastManager.sendBroadcast(broadcastIntent);

// Sorrendelt Broadcast küldése példája
// sendOrderedBroadcast(orderedBroadcastIntent, null); // engedély megadása is lehetséges