Junior — Middle
Můžete uvést různé typy Broadcast Receiver používané v Androidu?
sobes.tech AI
Odpověď od AI
V Androidu existují dva hlavní typy Broadcast Receiver:
-
Statické (Static) Broadcast Receivers — jsou deklarovány v manifestu aplikace (
AndroidManifest.xml). Mohou přijímat vysílané zprávy i když aplikace neběží. Od Androidu 8.0 (API 26) je jejich použití omezeno pro některé systémové události, aby se šetřily zdroje. -
Dynamické (Dynamic) Broadcast Receivers — jsou registrovány programově v kódu (obvykle v
onCreateneboonResumeaktivity) pomocíregisterReceiver(). Jsou aktivní pouze dokud je aplikace nebo komponenta spuštěná a registrovaná.
Dále lze rozlišit:
- Ordered Broadcast Receivers — přijímají zprávy postupně, s možností přerušit další předávání.
- Local Broadcast Receivers — fungují uvnitř jedné aplikace, nevystupují mimo ni, což zvyšuje bezpečnost a výkon (
LocalBroadcastManager).
Příklad dynamické registrace:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// zpracování události
}
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));