1# MissionListener (系统接口)
2
3定义系统任务状态监听,可以通过[on](js-apis-app-ability-missionManager-sys.md#missionmanageronmission)注册。
4
5> **说明:**
6>
7> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 本模块接口为系统接口。
9
10## 导入模块
11
12```ts
13import { missionManager } from '@kit.AbilityKit';
14```
15
16## 属性
17
18**系统接口**:此接口为系统接口。
19
20**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
21
22| 名称        | 类型                 | 必填 | 说明                                                         |
23| ----------- | -------- | ---- | ------------------------------------------------------------ |
24| onMissionCreated    | function               | 否   | 表示当系统创建任务时回调执行。                                |
25| onMissionDestroyed   | function               | 否   | 表示当系统销毁任务时回调执行。 |
26| onMissionSnapshotChanged   | function               | 否   | 表示当系统更新任务缩略图时回调执行。 |
27| onMissionMovedToFront   | function               | 否   | 表示当系统将任务移动到前台时回调执行。 |
28| onMissionLabelUpdated<sup>9+</sup>   | function               | 否   | 表示当系统更新任务标签时回调执行。 |
29| onMissionIconUpdated<sup>9+</sup>   | function               | 否   | 表示当系统更新任务图标时回调执行。 |
30| onMissionClosed<sup>9+</sup>   | function               | 否   | 表示当系统关闭任务时回调执行。 |
31
32**示例:**
33```ts
34import { missionManager } from '@kit.AbilityKit';
35import { BusinessError } from '@kit.BasicServicesKit';
36
37let listener: missionManager.MissionListener = {
38  onMissionCreated: (mission) => {
39    console.log(`onMissionCreated mission: ${JSON.stringify(mission)}`);
40  },
41  onMissionDestroyed: (mission) => {
42    console.log(`onMissionDestroyed mission: ${JSON.stringify(mission)}`);
43  },
44  onMissionSnapshotChanged: (mission) => {
45    console.log(`onMissionSnapshotChanged mission: ${JSON.stringify(mission)}`);
46  },
47  onMissionMovedToFront: (mission) => {
48    console.log(`onMissionMovedToFront mission: ${JSON.stringify(mission)}`);
49  },
50  onMissionLabelUpdated: (mission) => {
51    console.log(`onMissionLabelUpdated mission: ${JSON.stringify(mission)}`);
52  },
53  onMissionIconUpdated: (mission, icon) => {
54    console.log(`onMissionIconUpdated mission: ${JSON.stringify(mission)}`);
55    console.log(`onMissionIconUpdated icon: ${JSON.stringify(icon)}`);
56  },
57  onMissionClosed: (mission) => {
58    console.log(`onMissionClosed mission: ${JSON.stringify(mission)}`);
59  }
60};
61
62try {
63  let listenerId = missionManager.on('mission', listener);
64} catch (paramError) {
65  console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
66}
67```