# MissionListener (System API) The **MissionListener** 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#missionmanageron). > **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 '@ohos.app.ability.missionManager'; ``` ## Attributes **System API**: This is a system API and cannot be called by third-party applications. **System capability**: SystemCapability.Ability.AbilityRuntime.Mission | Name | Type | Mandatory| Description | | ----------- | -------- | ---- | ------------------------------------------------------------ | | onMissionCreated | function | No | Called when the system creates a mission. | | onMissionDestroyed | function | No | Called when the system destroys the mission.| | onMissionSnapshotChanged | function | No | Called when the system updates the mission snapshot.| | onMissionMovedToFront | function | No | Called when the system moves the mission to the foreground.| | onMissionLabelUpdated9+ | function | No | Called when the system updates the mission label.| | onMissionIconUpdated9+ | function | No | Called when the system updates the mission icon.| | onMissionClosed9+ | function | No | Called when the system closes the mission.| **Example** ```ts import missionManager from '@ohos.app.ability.missionManager'; 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(mission)}`); }, onMissionClosed: (mission) => { console.log(`onMissionClosed mission: ${JSON.stringify(mission)}`); } }; try { let listenerId = missionManager.on('mission', listener); } catch (paramError) { console.error(`error: ${paramError.code}, ${paramError.message}`); } ```