1# Setting the Icon and Name of a Mission Snapshot
2
3Setting a unique icon and name for each mission snapshot of an application helps you better manage the missions and functions of the application.
4
5By default, the **icon** and **label** fields in the [abilities tag](../quick-start/module-configuration-file.md#abilities) of the [module.json5 file](../quick-start/module-configuration-file.md) are used to set the icon and label.
6
7Figure 1 Mission snapshot of a UIAbility
8
9![](figures/mission-list-recent.png)
10
11You can also use [UIAbilityContext.setMissionIcon()](../reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext-sys.md#uiabilitycontextsetmissionicon) and [UIAbilityContext.setMissionLabel()](../reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextsetmissionlabel) to customize the icon and name for a mission snapshot. For example, for a UIAbility instance in multiton mode, you can configure the icon and name for each mission snapshot based on different functions.
12
13This document describes the following operations:
14
15- [Setting a Mission Snapshot Icon (for System Applications Only)](#setting-a-mission-snapshot-icon-for-system-applications-only)
16- [Setting a Mission Snapshot Name](#setting-a-mission-snapshot-name)
17
18## Setting a Mission Snapshot Icon (for System Applications Only)
19
20Call [UIAbilityContext.setMissionIcon()](../reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext-sys.md#uiabilitycontextsetmissionicon) to set the icon of a mission snapshot.
21
22For details about how to obtain the context, see [Obtaining the Context of UIAbility](uiability-usage.md#obtaining-the-context-of-uiability). For details about how to obtain the PixelMap information in the example, see [Image Decoding](../media/image/image-decoding.md).
23
24```ts
25import { common } from '@kit.AbilityKit';
26import { BusinessError } from '@kit.BasicServicesKit';
27import { hilog } from '@kit.PerformanceAnalysisKit';
28
29const TAG: string = 'EntryAbility';
30const DOMAIN_NUMBER: number = 0xFF00;
31
32// ...
33let context: common.UIAbilityContext = this.context; // UIAbilityContext
34
35// ... // Obtain a pixelMap object.
36
37// Set an icon for the mission snapshot.
38context.setMissionIcon(pixelMap, (err: BusinessError) => {
39  if (err.code) {
40    hilog.error(DOMAIN_NUMBER, TAG, `Failed to set mission icon. Code is ${err.code}, message is ${err.message}`);
41  } else {
42    hilog.info(DOMAIN_NUMBER, TAG, `Success to set mission icon.`);
43  }
44})
45```
46
47The display effect is shown below.
48
49Figure 2 Mission snapshot icon
50
51![](figures/mission-set-task-snapshot-icon.png)
52
53## Setting a Mission Snapshot Name
54
55Call [UIAbilityContext.setMissionLabel()](../reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextsetmissionlabel) to set the name of a mission snapshot.
56
57```ts
58import { common } from '@kit.AbilityKit';
59import { BusinessError } from '@kit.BasicServicesKit';
60import { hilog } from '@kit.PerformanceAnalysisKit';
61
62const TAG: string = 'EntryAbility';
63const DOMAIN_NUMBER: number = 0xFF00;
64
65// ...
66let context: common.UIAbilityContext = this.context; // UIAbilityContext
67// Set a name for the mission snapshot.
68context.setMissionLabel('test').then(() => {
69  hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in seting mission label.');
70}).catch((err: BusinessError) => {
71  hilog.error(DOMAIN_NUMBER, TAG, `Failed to set mission label. Code is ${err.code}, message is ${err.message}`);
72});
73```
74
75The display effect is shown below.
76
77Figure 3 Mission snapshot name
78
79![](figures/mission-set-task-snapshot-label.png)
80