Sobes.tech
Junior — Middle

Dans quels cas l'enregistrement d'un Broadcast Receiver dans le manifeste Android est-il interdit?

sobes.tech IA

Réponse de l'IA

L'enregistrement du Broadcast Receiver dans le manifeste Android n'est pas autorisé dans les cas suivants :

  • Pour les événements dynamiques ou privés : Si le récepteur doit répondre uniquement aux événements se produisant à l'intérieur de l'application ou à des événements qui ne doivent pas être accessibles à d'autres applications, il est préférable de l'enregistrer de manière programmatique (dynamiquement) via registerReceiver() dans le code.

  • Pour certains événements système dans les nouvelles versions d'Android : À partir d'Android 8.0 (API 26), de nombreux messages de diffusion système (par exemple, ACTION_NEW_PICTURE, ACTION_NEW_SMS) ne peuvent pas être enregistrés dans le manifeste pour réduire la charge sur le système et améliorer la sécurité. Dans ces cas, les récepteurs doivent être enregistrés dynamiquement.

  • Si un contrôle du cycle de vie est nécessaire : L'enregistrement dans le manifeste maintient le récepteur actif en permanence, ce qui peut entraîner une consommation inutile de ressources. Si le récepteur doit fonctionner uniquement à certains moments (par exemple, lorsque l'activité est active), l'enregistrement doit être effectué de manière dynamique.

Ainsi, l'enregistrement dans le manifeste est non autorisé ou inefficace pour les événements qui ne doivent être traités que lorsque l'application est active ou pour les événements système interdits pour l'enregistrement statique dans les nouvelles versions d'Android.