Sobes.tech
Junior — Middle

Pouvez-vous nommer les différents types de Broadcast Receiver utilisés dans Android?

sobes.tech IA

Réponse de l'IA

Il existe deux principaux types de Broadcast Receiver sur Android:

  1. Récepteurs de Diffusion Statique (Static) — déclarés dans le manifeste de l'application (AndroidManifest.xml). Ils peuvent recevoir des messages broadcast même lorsque l'application n'est pas en cours d'exécution. Cependant, à partir d'Android 8.0 (API 26), leur utilisation est limitée pour certains événements système afin d'économiser des ressources.

  2. Récepteurs de Diffusion Dynamiques (Dynamic) — enregistrés par programmation dans le code (généralement dans onCreate ou onResume de l'activité) à l'aide de registerReceiver(). Ils ne sont actifs que tant que l'application ou le composant est en cours d'exécution et enregistré.

On peut également distinguer:

  • Récepteurs de Diffusion Ordonnée (Ordered Broadcast Receivers) — reçoivent les messages en séquence, avec la possibilité d'interrompre la transmission suivante.
  • Récepteurs de Diffusion Locale (Local Broadcast Receivers) — fonctionnent à l'intérieur d'une même application, sans en sortir, ce qui augmente la sécurité et la performance (utilise LocalBroadcastManager).

Exemple d'enregistrement dynamique:

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // traitement de l'événement
    }
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));