Sobes.tech
Junior — Middle

Puoi nominare i diversi tipi di Broadcast Receiver utilizzati in Android?

sobes.tech AI

Risposta dell'AI

In Android, ci sono due principali tipi di Broadcast Receiver:

  1. Broadcast Receiver Statici (Static) — dichiarati nel manifesto dell'app (AndroidManifest.xml). Possono ricevere messaggi broadcast anche quando l'app non è in esecuzione. Tuttavia, a partire da Android 8.0 (API 26), il loro uso è limitato per alcuni eventi di sistema per risparmiare risorse.

  2. Broadcast Receiver Dinamici (Dynamic) — registrati programmaticamente nel codice (solitamente in onCreate o onResume dell'attività) usando registerReceiver(). Sono attivi solo mentre l'app o il componente sono in esecuzione e registrati.

Puoi anche distinguere:

  • Ordered Broadcast Receiver — ricevono i messaggi in sequenza, con la possibilità di interrompere la trasmissione.
  • Local Broadcast Receiver — funzionano all'interno di una stessa applicazione, senza uscire da essa, aumentando sicurezza e prestazioni (LocalBroadcastManager).

Esempio di registrazione dinamica:

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // elaborazione evento
    }
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));