Junior — Middle
Pouvez-vous expliquer ce qu'est un composant BroadcastReceiver et comment il fonctionne dans Android?
sobes.tech IA
Réponse de l'IA
BroadcastReceiver est un composant Android qui permet à une application de recevoir et de réagir aux messages broadcast (diffusés) du système ou d'autres applications.
Comment fonctionne BroadcastReceiver :
- Il s'enregistre pour certains événements (par exemple, connexion réseau, réception de SMS, chargement de l'appareil).
- Lorsqu'un événement se produit, le système envoie le broadcast correspondant.
- Les BroadcastReceivers enregistrés reçoivent ce broadcast et exécutent le code défini.
Généralement, BroadcastReceiver est utilisé pour :
- Réagir aux événements système sans lancer l'application en permanence.
- Démarrer des tâches en arrière-plan selon un horaire ou lorsque certaines conditions sont remplies.
Exemple d'un BroadcastReceiver simple qui réagit à l'allumage de l'appareil :
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
// Actions après le démarrage de l'appareil
}
}
}
Pour l'enregistrer, on peut utiliser le manifeste ou le faire dynamiquement dans le code. Il est important de se rappeler qu'à partir d'Android 8.0 (Oreo), il existe des restrictions sur le travail en arrière-plan pour BroadcastReceiver, et pour certains événements, il faut utiliser d'autres mécanismes, comme JobScheduler.