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:
-
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. -
Dinamikus (Dynamic) Broadcast Receiver-ek — programozottan regisztrálják őket a kódban (általában az
onCreatevagyonResumemetódusban) aregisterReceiver()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));