Gérer l'arrêt initié par l'utilisateur des applications exécutant des services de premier plan

À partir d'Android 13 (niveau d'API 33), les utilisateurs peuvent effectuer un workflow à partir du panneau de notifications pour arrêter une application qui exécute des services de premier plan, quelle que soit la version du SDK cible de cette application. Cette affordance, appelée Gestionnaire des tâches, affiche la liste des applications qui exécutent actuellement un service de premier plan.

En bas du panneau de notifications se trouve un bouton qui indique le nombre d'applications actuellement en cours d'exécution en arrière-plan. Lorsque vous appuyez sur ce bouton, une boîte de dialogue s'affiche et liste les noms de différentes applications. Le bouton "Arrêter" se trouve à droite de chaque application.
Figure 1. Workflow du Gestionnaire des tâches sur les appareils équipés d'Android 13 ou version ultérieure.

Cette liste est intitulée Applications actives. À côté de chaque application se trouve un bouton Arrêter. La figure 1 illustre le workflow du Gestionnaire de tâches sur un appareil exécutant Android 13.

Lorsque l'utilisateur appuie sur le bouton Arrêter à côté de votre application dans le Gestionnaire des tâches, les actions suivantes se produisent :

  • Le système supprime votre application de la mémoire. Par conséquent, l'ensemble de votre application s'arrête, et pas seulement le service de premier plan en cours d'exécution.
  • Le système supprime la pile "Retour" des activités de votre application.
  • Toute lecture de contenu multimédia s'arrête.
  • La notification associée au service de premier plan est supprimée.
  • Votre application reste dans l'historique.
  • Les jobs planifiés s'exécutent à l'heure prévue.
  • Les alarmes se déclenchent à l'heure ou dans la plage horaire prévue.

Pour vérifier que votre application se comporte comme prévu lorsqu'un utilisateur l'arrête et après, exécutez la commande ADB suivante dans une fenêtre de terminal :

adb shell cmd activity stop-app PACKAGE_NAME