Junior — Middle
Môžete uviesť rôzne typy Broadcast Receiver používané v Android?
sobes.tech AI
Odpoveď od AI
V Androide existujú dva hlavné typy Broadcast Receiver:
-
Statické (Static) Broadcast Receivers — deklarované v manifest súbore aplikácie (
AndroidManifest.xml). Môžu prijímať broadcast správy aj keď aplikácia nie je spustená. Od Androidu 8.0 (API 26) je ich použitie obmedzené pre niektoré systémové udalosti, aby sa šetrili zdroje. -
Dynamické (Dynamic) Broadcast Receivers — sú registrované programovo v kóde (zvyčajne v
onCreatealeboonResumeaktivity) pomocouregisterReceiver(). Sú aktívne len počas behu aplikácie alebo komponentu, ktorý ich registroval.
Tiež možno rozlíšiť:
- Ordered Broadcast Receivers — prijímajú správy postupne, s možnosťou prerušiť ďalšie šírenie.
- Local Broadcast Receivers — fungujú v rámci jednej aplikácie, bez jej opustenia, čo zvyšuje bezpečnosť a výkon (
LocalBroadcastManager).
Príklad dynamickej registrácie:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// spracovanie udalosti
}
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));