# MissionListener (System API) The module defines the listeners used to observe the mission status. The listeners can be registered by using [on](js-apis-app-ability-missionManager-sys.md#missionmanageronmission). > **NOTE** > > The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version. > The APIs provided by this module are system APIs. ## Modules to Import ```ts import { missionManager } from '@kit.AbilityKit'; ``` ## MissionListener ### onMissionCreated onMissionCreated(mission: number): void Called when the system creates a mission. **System API**: This is a system API. **System capability**: SystemCapability.Ability.AbilityRuntime.Mission **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | mission | number | Yes| Mission ID.| **Example** For details, see [onMissionClosed](#onmissionclosed9). ### onMissionDestroyed onMissionDestroyed(mission: number): void Called when the system destroys a mission. **System API**: This is a system API. **System capability**: SystemCapability.Ability.AbilityRuntime.Mission **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | mission | number | Yes| Mission ID.| **Example** For details, see [onMissionClosed](#onmissionclosed9). ### onMissionSnapshotChanged onMissionSnapshotChanged(mission: number): void Called when the system updates the snapshot of a mission. **System API**: This is a system API. **System capability**: SystemCapability.Ability.AbilityRuntime.Mission **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | mission | number | Yes| Mission ID.| **Example** For details, see [onMissionClosed](#onmissionclosed9). ### onMissionMovedToFront onMissionMovedToFront(mission: number): void Called when the system moves a mission to the foreground. **System API**: This is a system API. **System capability**: SystemCapability.Ability.AbilityRuntime.Mission **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | mission | number | Yes| Mission ID.| **Example** For details, see [onMissionClosed](#onmissionclosed9). ### onMissionLabelUpdated9+ onMissionLabelUpdated(mission: number): void Called when the system updates the label of a mission. **System API**: This is a system API. **System capability**: SystemCapability.Ability.AbilityRuntime.Mission **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | mission | number | Yes| Mission ID.| **Example** For details, see [onMissionClosed](#onmissionclosed9). ### onMissionIconUpdated9+ onMissionIconUpdated(mission: number, icon: image.PixelMap): void Called when the system updates the icon of a mission. **System API**: This is a system API. **System capability**: SystemCapability.Ability.AbilityRuntime.Mission **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | mission | number | Yes| Mission ID.| | icon | [image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7) | Yes| New mission icon.| **Example** For details, see [onMissionClosed](#onmissionclosed9). ### onMissionClosed9+ onMissionClosed(mission: number): void Called when the system closes a mission. **System API**: This is a system API. **System capability**: SystemCapability.Ability.AbilityRuntime.Mission **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | mission | number | Yes| Mission ID.| **Example** ```ts import { missionManager } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; let listener: missionManager.MissionListener = { onMissionCreated: (mission) => { console.log(`onMissionCreated mission: ${JSON.stringify(mission)}`); }, onMissionDestroyed: (mission) => { console.log(`onMissionDestroyed mission: ${JSON.stringify(mission)}`); }, onMissionSnapshotChanged: (mission) => { console.log(`onMissionSnapshotChanged mission: ${JSON.stringify(mission)}`); }, onMissionMovedToFront: (mission) => { console.log(`onMissionMovedToFront mission: ${JSON.stringify(mission)}`); }, onMissionLabelUpdated: (mission) => { console.log(`onMissionLabelUpdated mission: ${JSON.stringify(mission)}`); }, onMissionIconUpdated: (mission, icon) => { console.log(`onMissionIconUpdated mission: ${JSON.stringify(mission)}`); console.log(`onMissionIconUpdated icon: ${JSON.stringify(icon)}`); }, onMissionClosed: (mission) => { console.log(`onMissionClosed mission: ${JSON.stringify(mission)}`); } }; try { let listenerId = missionManager.on('mission', listener); } catch (paramError) { console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`); } ```