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## MissionListener 17 18### onMissionCreated 19 20onMissionCreated(mission: number): void 21 22当系统创建任务时会触发该回调函数。 23 24**系统接口**:此接口为系统接口。 25 26**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 27 28**参数**: 29 30| 参数名 | 类型 | 必填 | 说明 | 31| -------- | -------- | -------- | -------- | 32| mission | number | 是 | 表示创建的任务ID。 | 33 34**示例**: 35 36详细示例请见[onMissionClosed](#onmissionclosed9)。 37 38### onMissionDestroyed 39 40onMissionDestroyed(mission: number): void 41 42当系统销毁任务时会触发该回调函数。 43 44**系统接口**:此接口为系统接口。 45 46**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 47 48**参数**: 49 50| 参数名 | 类型 | 必填 | 说明 | 51| -------- | -------- | -------- | -------- | 52| mission | number | 是 | 表示销毁的任务ID。 | 53 54**示例**: 55 56详细示例请见[onMissionClosed](#onmissionclosed9)。 57 58### onMissionSnapshotChanged 59 60onMissionSnapshotChanged(mission: number): void 61 62当系统更新任务缩略图时会触发该回调函数。 63 64**系统接口**:此接口为系统接口。 65 66**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 67 68**参数**: 69 70| 参数名 | 类型 | 必填 | 说明 | 71| -------- | -------- | -------- | -------- | 72| mission | number | 是 | 表示任务ID。 | 73 74**示例**: 75 76详细示例请见[onMissionClosed](#onmissionclosed9)。 77 78### onMissionMovedToFront 79 80onMissionMovedToFront(mission: number): void 81 82当系统将任务移动到前台时会触发该回调函数。 83 84**系统接口**:此接口为系统接口。 85 86**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 87 88**参数**: 89 90| 参数名 | 类型 | 必填 | 说明 | 91| -------- | -------- | -------- | -------- | 92| mission | number | 是 | 表示任务ID。 | 93 94**示例**: 95 96详细示例请见[onMissionClosed](#onmissionclosed9)。 97 98### onMissionLabelUpdated<sup>9+</sup> 99 100onMissionLabelUpdated(mission: number): void 101 102当系统更新任务标签时会触发该回调函数。 103 104**系统接口**:此接口为系统接口。 105 106**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 107 108**参数**: 109 110| 参数名 | 类型 | 必填 | 说明 | 111| -------- | -------- | -------- | -------- | 112| mission | number | 是 | 表示任务ID。 | 113 114**示例**: 115 116详细示例请见[onMissionClosed](#onmissionclosed9)。 117 118### onMissionIconUpdated<sup>9+</sup> 119 120onMissionIconUpdated(mission: number, icon: image.PixelMap): void 121 122当系统更新任务图标时会触发该回调函数。 123 124**系统接口**:此接口为系统接口。 125 126**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 127 128**参数**: 129 130| 参数名 | 类型 | 必填 | 说明 | 131| -------- | -------- | -------- | -------- | 132| mission | number | 是 | 表示任务ID。 | 133| icon | [image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7) | 是 | 表示更新的任务图标。 | 134 135**示例**: 136 137详细示例请见[onMissionClosed](#onmissionclosed9)。 138 139### onMissionClosed<sup>9+</sup> 140 141onMissionClosed(mission: number): void 142 143当系统关闭任务时会触发该回调函数。 144 145**系统接口**:此接口为系统接口。 146 147**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 148 149**参数**: 150 151| 参数名 | 类型 | 必填 | 说明 | 152| -------- | -------- | -------- | -------- | 153| mission | number | 是 | 表示关闭的任务ID。 | 154 155**示例**: 156```ts 157import { missionManager } from '@kit.AbilityKit'; 158import { BusinessError } from '@kit.BasicServicesKit'; 159 160let listener: missionManager.MissionListener = { 161 onMissionCreated: (mission) => { 162 console.log(`onMissionCreated mission: ${JSON.stringify(mission)}`); 163 }, 164 onMissionDestroyed: (mission) => { 165 console.log(`onMissionDestroyed mission: ${JSON.stringify(mission)}`); 166 }, 167 onMissionSnapshotChanged: (mission) => { 168 console.log(`onMissionSnapshotChanged mission: ${JSON.stringify(mission)}`); 169 }, 170 onMissionMovedToFront: (mission) => { 171 console.log(`onMissionMovedToFront mission: ${JSON.stringify(mission)}`); 172 }, 173 onMissionLabelUpdated: (mission) => { 174 console.log(`onMissionLabelUpdated mission: ${JSON.stringify(mission)}`); 175 }, 176 onMissionIconUpdated: (mission, icon) => { 177 console.log(`onMissionIconUpdated mission: ${JSON.stringify(mission)}`); 178 console.log(`onMissionIconUpdated icon: ${JSON.stringify(icon)}`); 179 }, 180 onMissionClosed: (mission) => { 181 console.log(`onMissionClosed mission: ${JSON.stringify(mission)}`); 182 } 183}; 184 185try { 186 let listenerId = missionManager.on('mission', listener); 187} catch (paramError) { 188 console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`); 189} 190```