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:
-
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. -
Dinaminiai (Dynamic) Broadcast Receiveriai — registruojami programiškai kode (dažniausiai
onCreatearbaonResumemetu) naudojantregisterReceiver(). 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));