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 depuis le volet de notification pour arrêter une application qui utilise 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 des notifications, un bouton indique le nombre d'applications actuellement exécutées en arrière-plan. Lorsque vous appuyez sur ce bouton, une boîte de dialogue s'affiche, qui liste les noms des différentes applications. Le bouton "Arrêter" se trouve à droite de chaque application.
Figure 1. Flux de travail du gestionnaire de 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 Stop (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" de l'activité de votre application.
  • La lecture de tout 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 à la période programmée.

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

adb shell cmd activity stop-app PACKAGE_NAME