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:
-
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. -
Broadcast Receivers Dinamice (Dynamic) — înregistrate programatic în cod (de obicei în
onCreatesauonResumeal activității) folosindregisterReceiver(). 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));