Apparaître dans les éléments récents et dans la reprise de l'application

Le lanceur affiche un libellé et une icône pour toutes les tâches récemment reprises. Si votre package d'application contient plusieurs applications en tant qu'activités distinctes spécifiques au lanceur, le lanceur d'applications ne saura pas quel libellé ni quelle icône afficher pour les activités qui ne lui sont pas spécifiques, comme celles lancées à partir d'une carte ou d'une notification. Dans ce cas, il est possible que votre application ne s'affiche pas dans la liste des éléments récents du lanceur d'applications ou qu'elle ne s'affiche pas correctement.

Ajouter un libellé à toutes les activités

Assurez-vous que vos activités, y compris celles qui ne sont pas liées au lanceur d'applications, sont associées à un libellé approprié dans votre fichier manifeste, comme indiqué dans les étapes suivantes.

Figure 1 : Exemples d'activités correctement libellées

  1. Pour chaque activité du fichier AndroidManifest.xml, identifiez l'activité du lanceur à laquelle elle appartient.
  2. Copiez l'icône, l'icône ronde et le libellé de l'activité du lanceur d'applications parent dans chaque activité associée non spécifique au lanceur.
  3. Pour les activités partagées entre plusieurs activités du lanceur d'applications, choisissez une icône et un libellé à afficher qui les représentent toutes.

Attribuer des tâches récentes

Pour utiliser des tâches récentes (RecentTasks) dans la section des éléments récents du lanceur d'applications, assurez-vous que vos éléments taskAffinity sont correctement définis dans le fichier AndroidManifest.xml, et que vous gérez vos tâches et votre pile "Retour" de façon cohérente.

Tenez compte des points suivants lorsque vous attribuez des tâches :

  • Choisissez un nom taskAffinity unique pour chaque tâche dans votre application. Vous pouvez considérer chaque activité du lanceur d'applications et ses enfants comme une tâche. Attribuez cette valeur taskAffinity à chaque activité associée dans le fichier manifeste.
  • Évitez d'appeler startActivity() avec FLAG_ACTIVITY_NEW_TASK ou FLAG_ACTIVITY_CLEAR_TOP.
  • Évitez de créer des activités "trampoline", qui ne font que lancer d'autres activités. Créez des écrans de démarrage à l'aide de l'API SplashScreen.
  • Utilisez les options android:excludeFromRecents="true" et android:noHistory="true" si vous ne souhaitez pas que votre activité apparaisse dans la section des éléments récents.
  • Déterminez le mode de lancement le mieux adapté à vos activités et développez-le en conséquence.

Conseils de débogage

Tenez compte des points suivants lors du débogage :

  • Si la section des éléments récents comporte une double entrée pour une même application, vérifiez si vous utilisez l'indicateur NEW_TASK de manière inappropriée.
  • Si une icône ou un libellé incorrects s'affichent, assurez-vous que chaque activité non liée au lanceur d'applications est associée à la même icône, à la même icône ronde et au même libellé que son activité parente.
  • Si le système ne démarre aucune activité après que l'utilisateur a appuyé sur l'entrée dans le lanceur, recherchez les erreurs dans Logcat (en ciblant spécifiquement le terme "launcher"), car ce problème peut être dû à une activité trampoline.