Stay organized with collections
Save and categorize content based on your preferences.
The launcher
displays a label and icon for any recently resumed
tasks. If your app package
has multiple apps as separate launcher activities, the launcher doesn't know
which label and icon to show for non-launcher activities, such as
activities launched from a tile or a notification. This might
cause your app to not show up in the Recents list in the launcher or to show
up incorrectly.
Label all activities
Ensure that your activities, including non-launcher activities, are properly
labelled in your manifest file, as shown in the following steps.
Figure 1. Examples of properly labeled activities.
For every activity in your AndroidManifest.xml file, determine which launcher
activity it belongs to.
Copy the icon, round icon, and label from the parent launcher
activity into each associated non-launcher activity.
For activities that are shared among multiple launcher activities, decide
which icon and label to display that represents all of them.
Assign RecentTasks
To use RecentTasks for the Recents section in the launcher, ensure that your
taskAffinity elements are correctly defined in your AndroidManifest.xml file and
that you manage your tasks and back stack consistently.
Keep the following considerations in mind as you assign tasks:
Choose a unique taskAffinity
name for each task in your app. You can consider each launcher activity
and its children as one task. Assign that taskAffinity to every related
activity in your manifest file.
Avoid creating trampoline activities, which are activities that only
launch other activities. Create splash screens using the
SplashScreen API.
Use android:excludeFromRecents="true" and android:noHistory="true" flags
when you don’t want your activity to show up in the Recents section.
Determine the best launch mode
for your activities and develop with that in mind.
Debugging tips
Look out for the following things when debugging:
If there are double entries in the Recents section for a single app,
check whether you are using the NEW_TASK flag inappropriately.
If the wrong icon or label displays, ensure that each associated
non-launcher activity has the same icon, round icon, and label as its parent
activity.
If the system doesn't launch anything after tapping the entry in the
launcher, check Logcat (filtered on “launcher”) for errors, as this issue can
be caused by a trampoline activity.
Recommended for you
Note: link text is displayed when JavaScript is off
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-11-12 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-11-12 UTC."],[],[],null,["# Appear in recents and app resume\n\nThe [launcher](/training/wearables/user-interfaces#app_launcher_entries)\ndisplays a label and icon for any recently resumed\n[tasks](/guide/components/activities/tasks-and-back-stack). If your app package\nhas multiple apps as separate launcher activities, the launcher doesn't know\nwhich label and icon to show for non-launcher activities, such as\nactivities launched from a tile or a notification. This might\ncause your app to not show up in the **Recents** list in the launcher or to show\nup incorrectly.\n\nLabel all activities\n--------------------\n\nEnsure that your activities, including non-launcher activities, are properly\nlabelled in your manifest file, as shown in the following steps.\n\n\n**Figure 1.** Examples of properly labeled activities.\n\n1. For every activity in your `AndroidManifest.xml` file, determine which launcher activity it belongs to.\n2. Copy the icon, round icon, and label from the parent launcher activity into each associated non-launcher activity.\n3. For activities that are shared among multiple launcher activities, decide\n which icon and label to display that represents all of them.\n\n | **Note:** If the launcher is unable to determine the correct icon and label, it defaults to the icon and label of your application tag.\n\nAssign RecentTasks\n------------------\n\nTo use `RecentTasks` for the **Recents** section in the launcher, ensure that your\n`taskAffinity` elements are correctly defined in your `AndroidManifest.xml` file and\nthat you manage your tasks and back stack consistently.\n\nKeep the following considerations in mind as you assign tasks:\n\n- Choose a unique [`taskAffinity`](/guide/topics/manifest/activity-element#aff) name for each task in your app. You can consider each launcher activity and its children as one task. Assign that `taskAffinity` to every related activity in your manifest file.\n- Avoid calling `startActivity()` with [`FLAG_ACTIVITY_NEW_TASK`](/reference/android/content/Intent#FLAG_ACTIVITY_NEW_TASK) or [`FLAG_ACTIVITY_CLEAR_TOP`](/reference/android/content/Intent#FLAG_ACTIVITY_CLEAR_TOP).\n- Avoid creating *trampoline activities* , which are activities that only launch other activities. Create splash screens using the [SplashScreen API](/reference/android/R.attr#windowSplashscreenContent).\n- Use `android:excludeFromRecents=\"true\"` and `android:noHistory=\"true\"` flags when you don't want your activity to show up in the **Recents** section.\n- Determine the best [launch mode](/guide/components/activities/tasks-and-back-stack#TaskLaunchModes) for your activities and develop with that in mind.\n\nDebugging tips\n--------------\n\nLook out for the following things when debugging:\n\n- If there are double entries in the **Recents** section for a single app, check whether you are using the `NEW_TASK` flag inappropriately.\n- If the wrong icon or label displays, ensure that each associated non-launcher activity has the same icon, round icon, and label as its parent activity.\n- If the system doesn't launch anything after tapping the entry in the launcher, check Logcat (filtered on \"launcher\") for errors, as this issue can be caused by a trampoline activity.\n\nRecommended for you\n-------------------\n\n- Note: link text is displayed when JavaScript is off\n- [Tasks and the back stack](/guide/components/activities/tasks-and-back-stack)\n- [Create custom Quick Settings tiles for your app](/develop/ui/views/quicksettings-tiles)\n- [Learn Jetpack Navigation](/codelabs/android-navigation)"]]