На панели запуска показываются ярлыки и значки недавно возобновленных задач. Если в пакете приложения несколько приложений с отдельными объектами activity для запуска, то лаунчер не знает, какой ярлык и значок показывать для объектов activity, которые не предназначены для запуска, например для объектов activity, запускаемых из карточки или уведомления. В противном случае приложение может не появиться в списке Недавние на панели запуска и будет отображаться некорректно .
Добавить ярлыки ко всем действиям
Убедитесь, что действия, в том числе не связанные с запуском, правильно помечены в файле манифеста, как показано ниже.
- Для каждого действия в файле
AndroidManifest.xmlопределите, к какому действию запуска оно относится. - Скопируйте значок, круглый значок и ярлык из родительского действия в каждое связанное с ним дочернее действие.
- Если у вас есть действия, которые используются в нескольких действиях запуска, решите, какие значок и ярлык будут представлять их все.
Как настроить задачи для раздела "Недавние"
Чтобы использовать RecentTasks для раздела Недавние в панели запуска, убедитесь, что элементы taskAffinity правильно определены в файле AndroidManifest.xml и вы последовательно управляете задачами и обратным стеком.
При назначении задач учитывайте следующее:
- Выберите уникальное название
taskAffinityдля каждой задачи в приложении. Каждое действие в панели запуска и его дочерние элементы можно рассматривать как одну задачу. Назначьте этотtaskAffinityкаждому связанному действию в файле манифеста. - Не вызывайте метод
startActivity()с методамиFLAG_ACTIVITY_NEW_TASKилиFLAG_ACTIVITY_CLEAR_TOP. - Не создавайте промежуточные действия, которые только запускают другие действия. Создавайте заставки с помощью SplashScreen API.
- Используйте флаги
android:excludeFromRecents="true"иandroid:noHistory="true", если вы не хотите, чтобы ваши действия отображались в разделе Недавние. - Определите оптимальный режим запуска для действий и учитывайте его при разработке.
Советы по отладке
При отладке учитывайте следующее:
- Если в разделе Недавние есть дублирующиеся записи для одного приложения, проверьте, правильно ли вы используете флаг
NEW_TASK. - Если отображается неправильный значок или ярлык, убедитесь, что у каждого связанного действия, не предназначенного для запуска, есть такой же значок, круглый значок и ярлык, как и у родительского действия.
- Если после нажатия на запись в панели запуска ничего не происходит, проверьте Logcat (с фильтром
launcher) на наличие ошибок, так как проблема может быть вызвана действием-трамплином.