Faut-il enregistrer BroadcastReceiver dans le fichier manifeste ou peut-on le connecter par programmation?
sobes.tech IA
Réponse de l'IA
En Android, BroadcastReceiver peut être enregistré de deux manières :
-
Dans le manifeste (de manière statique) — cette méthode permet au système de connaître le récepteur même si l'application n'est pas en cours d'exécution. C'est pratique pour recevoir des messages broadcast qui doivent lancer l'application ou effectuer des actions en arrière-plan.
-
Par programmation (de manière dynamique) — l'enregistrement se fait dans le code, généralement dans les méthodes du cycle de vie de l'Activity ou du Service. Cette méthode offre plus de contrôle : le récepteur n'est actif que tant qu'il est enregistré, ce qui aide à économiser des ressources et à éviter les fuites.
Le choix de la méthode dépend de la tâche. Par exemple, pour les messages broadcast système qui doivent toujours être traités, on utilise l'enregistrement dans le manifeste. Pour les événements locaux ou temporaires, on privilégie l'enregistrement programmatique.
Exemple d'enregistrement programmatique :
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// traitement de l'événement
}
};
// Enregistrement
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
// Désenregistrement
unregisterReceiver(receiver);