• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextsetmissionicon)和[`UIAbilityContext.setMissionLabel()`](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextsetmissionlabel)方法,根据需要自定义任务快照的图标和名称。例如,对于UIAbility的多实例启动模式,可以根据不同的功能配置相应的任务快照的图标和名称。
11
12本文将从以下两个方面介绍。
13
14- [设置任务快照的图标(仅对系统应用开放)](#设置任务快照的图标(仅对系统应用开放))
15- [设置任务快照的名称](#设置任务快照的名称)
16
17## 设置任务快照的图标(仅对系统应用开放)
18
19通过调用[`UIAbilityContext.setMissionIcon()`](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextsetmissionicon)方法修改任务快照的图标。
20
21示例中的context的获取方式请参见[获取UIAbility的上下文信息](uiability-usage.md#获取uiability的上下文信息)。示例中的`pixelMap`的获取方式请参见[图片解码](../media/image-decoding.md)。
22
23```ts
24import common from '@ohos.app.ability.common';
25
26let context: common.UIAbilityContext = ...; // UIAbilityContext
27let pixelMap: PixelMap = ...; // 图片的PixelMap信息
28
29context.setMissionIcon(pixelMap, (err) => {
30  if (err.code) {
31    console.error(`Failed to set mission icon. Code is ${err.code}, message is ${err.message}`);
32  }
33})
34```
35
36效果示意如下图所示。
37
38图2 设置任务快照的图标
39![](figures/mission-set-task-snapshot-icon.png)
40
41## 设置任务快照的名称
42
43通过调用[`UIAbilityContext.setMissionLabel()`](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextsetmissionlabel)方法修改任务快照的名称。
44
45```ts
46import common from '@ohos.app.ability.common';
47import { BusinessError } from '@ohos.base';
48
49let context: common.UIAbilityContext = this.context; // UIAbilityContext
50
51context.setMissionLabel('test').then(() => {
52  console.info('Succeeded in seting mission label.');
53}).catch((err: BusinessError) => {
54  console.error(`Failed to set mission label. Code is ${err.code}, message is ${err.message}`);
55});
56```
57
58效果示意如下图所示。
59
60图3 设置任务快照的名称
61![](figures/mission-set-task-snapshot-label.png)