1# ApplicationStateObserver 2<!--Kit: Ability Kit--> 3<!--Subsystem: Ability--> 4<!--Owner: @SKY2001--> 5<!--Designer: @yzkp--> 6<!--Tester: @lixueqing513--> 7<!--Adviser: @huipeizi--> 8 9The module defines an observer to listen for application state changes. It can be used as an input parameter in [on](js-apis-app-ability-appManager.md#appmanageronapplicationstate14) to listen for lifecycle changes of the current application. 10 11> **NOTE** 12> 13> The initial APIs of this module are supported since API version 14. Newly added APIs will be marked with a superscript to indicate their earliest API version. 14 15## Modules to Import 16 17```ts 18import { appManager } from '@kit.AbilityKit'; 19``` 20 21## ApplicationStateObserver.onForegroundApplicationChanged 22 23onForegroundApplicationChanged(appStateData: AppStateData): void 24 25Called when the foreground or background state of an application changes. 26 27**System capability**: SystemCapability.Ability.AbilityRuntime.Core 28 29**Parameters** 30 31| Name| Type| Mandatory| Description| 32| -------- | -------- | -------- | -------- | 33| appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | Yes| Application state data.| 34 35## ApplicationStateObserver.onAbilityStateChanged 36 37onAbilityStateChanged(abilityStateData: AbilityStateData): void 38 39Called when the ability state changes. 40 41**System capability**: SystemCapability.Ability.AbilityRuntime.Core 42 43**Parameters** 44 45| Name| Type| Mandatory| Description| 46| -------- | -------- | -------- | -------- | 47| abilityStateData | [AbilityStateData](js-apis-inner-application-abilityStateData.md) | Yes| Ability state data.| 48 49## ApplicationStateObserver.onProcessCreated 50 51onProcessCreated(processData: ProcessData): void 52 53Called when a process is created. 54 55**System capability**: SystemCapability.Ability.AbilityRuntime.Core 56 57**Parameters** 58 59| Name| Type| Mandatory| Description| 60| -------- | -------- | -------- | -------- | 61| processData | [ProcessData](js-apis-inner-application-processData.md) | Yes| Process data.| 62 63## ApplicationStateObserver.onProcessDied 64 65onProcessDied(processData: ProcessData): void 66 67Called when a process is destroyed. 68 69**System capability**: SystemCapability.Ability.AbilityRuntime.Core 70 71**Parameters** 72 73| Name| Type| Mandatory| Description| 74| -------- | -------- | -------- | -------- | 75| processData | [ProcessData](js-apis-inner-application-processData.md) | Yes| Process data.| 76 77## ApplicationStateObserver.onProcessStateChanged 78 79onProcessStateChanged(processData: ProcessData): void 80 81Called when the process state is changed. 82 83**System capability**: SystemCapability.Ability.AbilityRuntime.Core 84 85**Parameters** 86 87| Name| Type| Mandatory| Description| 88| -------- | -------- | -------- | -------- | 89| processData | [ProcessData](js-apis-inner-application-processData.md) | Yes| Process data.| 90 91## ApplicationStateObserver.onAppStarted 92 93onAppStarted(appStateData: AppStateData): void 94 95Called when the first process of the application is created. 96 97**System capability**: SystemCapability.Ability.AbilityRuntime.Core 98 99**Parameters** 100 101| Name| Type| Mandatory| Description| 102| -------- | -------- | -------- | -------- | 103| appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | Yes| Application state data.| 104 105## ApplicationStateObserver.onAppStopped 106 107onAppStopped(appStateData: AppStateData): void 108 109Called when the last process of the application is destroyed. 110 111**System capability**: SystemCapability.Ability.AbilityRuntime.Core 112 113**Parameters** 114 115| Name| Type| Mandatory| Description| 116| -------- | -------- | -------- | -------- | 117| appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | Yes| Application state data.| 118 119## ProcessData 120 121type ProcessData = _ProcessData.default 122 123Defines the process data. 124 125**System capability**: SystemCapability.Ability.AbilityRuntime.Core 126 127| Type| Description| 128| --- | --- | 129| [_ProcessData.default](js-apis-inner-application-processData.md) | Process data.| 130 131**Example** 132```ts 133import { appManager } from '@kit.AbilityKit'; 134 135let applicationStateObserver: appManager.ApplicationStateObserver = { 136 onForegroundApplicationChanged(appStateData) { 137 console.log(`onForegroundApplicationChanged, appStateData: ${JSON.stringify(appStateData)}.`); 138 }, 139 onAbilityStateChanged(abilityStateData) { 140 console.log(`onAbilityStateChanged, abilityStateData: ${JSON.stringify(abilityStateData)}.`); 141 }, 142 onProcessCreated(processData) { 143 console.log(`onProcessCreated, processData: ${JSON.stringify(processData)}.`); 144 }, 145 onProcessDied(processData) { 146 console.log(`onProcessDied, processData: ${JSON.stringify(processData)}.`); 147 }, 148 onProcessStateChanged(processData) { 149 console.log(`onProcessStateChanged, processData: ${JSON.stringify(processData)}.`); 150 }, 151 onAppStarted(appStateData) { 152 console.log(`onAppStarted, appStateData: ${JSON.stringify(appStateData)}.`); 153 }, 154 onAppStopped(appStateData) { 155 console.log(`onAppStopped, appStateData: ${JSON.stringify(appStateData)}.`); 156 } 157}; 158let observerCode = appManager.on('applicationState', applicationStateObserver); 159``` 160