Sobes.tech
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:

  1. 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.

  2. Dynamické (Dynamic) Broadcast Receivers — jsou registrovány programově v kódu (obvykle v onCreate nebo onResume aktivity) 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));