Le lanceur affiche un libellé et une icône pour tous ceux récemment réactivés. tâches. 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. Cela pourrait faire en sorte que l'application n'apparaisse pas dans la liste Récents du lanceur d'applications ou de manière incorrecte.
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
- Pour chaque activité du fichier
AndroidManifest.xml
, identifiez l'activité du lanceur à laquelle elle appartient. - 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.
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 valeurtaskAffinity
à chaque activité associée dans le fichier manifeste. - Évitez d'appeler
startActivity()
avecFLAG_ACTIVITY_NEW_TASK
ouFLAG_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"
etandroid: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.
Recommandations personnalisées
- Remarque : Le texte du lien s'affiche lorsque JavaScript est désactivé
- Tâches et pile "Retour"
- Créer des blocs "Réglages rapides" personnalisés pour votre application
- Découvrir la navigation dans Jetpack