1# 设置任务快照的图标和名称
2
3设置任务快照的图标和名称是为了提高用户界面的可视化性和用户体验,以便更好地管理和跟踪应用程序中的任务和功能。通过为每个任务快照设置不同的图标和名称,可以更轻松地区分和识别每个任务的功能。
4
5默认情况下任务快照的图标和名称采用的是[module.json5配置文件](../quick-start/module-configuration-file.md)的[abilities标签](../quick-start/module-configuration-file.md#abilities标签)中的icon和label字段,如下图所示。
6
7图1 UIAbility对应的任务快照
8![](figures/mission-list-recent.png)
9
10也可以使用[`UIAbilityContext.setMissionIcon()`](../reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext-sys.md#uiabilitycontextsetmissionicon)和[`UIAbilityContext.setMissionLabel()`](../reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextsetmissionlabel)方法,根据需要自定义任务快照的图标和名称。例如,对于UIAbility的多实例启动模式,可以根据不同的功能配置相应的任务快照的图标和名称。
11
12本文将从以下两个方面介绍。
13
14- [设置任务快照的图标(仅对系统应用开放)](#设置任务快照的图标仅对系统应用开放)
15- [设置任务快照的名称](#设置任务快照的名称)
16
17## 设置任务快照的图标(仅对系统应用开放)
18
19通过调用[`UIAbilityContext.setMissionIcon()`](../reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext-sys.md#uiabilitycontextsetmissionicon)方法修改任务快照的图标。
20
21示例中的context的获取方式请参见[获取UIAbility的上下文信息](uiability-usage.md#获取uiability的上下文信息)。示例中的`pixelMap`的获取方式请参见[图片解码](../media/image/image-decoding.md)。
22
23```ts
24import { common } from '@kit.AbilityKit';
25import { BusinessError } from '@kit.BasicServicesKit';
26import { hilog } from '@kit.PerformanceAnalysisKit';
27
28const TAG: string = 'EntryAbility';
29const DOMAIN_NUMBER: number = 0xFF00;
30
31// ...
32let context: common.UIAbilityContext = this.context; // UIAbilityContext
33
34// ... // 获取pixelMap
35
36// 设置任务快照的图标
37context.setMissionIcon(pixelMap, (err: BusinessError) => {
38  if (err.code) {
39    hilog.error(DOMAIN_NUMBER, TAG, `Failed to set mission icon. Code is ${err.code}, message is ${err.message}`);
40  } else {
41    hilog.info(DOMAIN_NUMBER, TAG, `Success to set mission icon.`);
42  }
43})
44```
45
46效果示意如下图所示。
47
48图2 设置任务快照的图标
49![](figures/mission-set-task-snapshot-icon.png)
50
51## 设置任务快照的名称
52
53通过调用[`UIAbilityContext.setMissionLabel()`](../reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextsetmissionlabel)方法修改任务快照的名称。
54
55```ts
56import { common } from '@kit.AbilityKit';
57import { BusinessError } from '@kit.BasicServicesKit';
58import { hilog } from '@kit.PerformanceAnalysisKit';
59
60const TAG: string = 'EntryAbility';
61const DOMAIN_NUMBER: number = 0xFF00;
62
63// ...
64let context: common.UIAbilityContext = this.context; // UIAbilityContext
65// 设置任务快照的名称
66context.setMissionLabel('test').then(() => {
67  hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in seting mission label.');
68}).catch((err: BusinessError) => {
69  hilog.error(DOMAIN_NUMBER, TAG, `Failed to set mission label. Code is ${err.code}, message is ${err.message}`);
70});
71```
72
73效果示意如下图所示。
74
75图3 设置任务快照的名称
76![](figures/mission-set-task-snapshot-label.png)