1# ApplicationStateObserver 2<!--Kit: Ability Kit--> 3<!--Subsystem: Ability--> 4<!--Owner: @SKY2001--> 5<!--Designer: @yzkp--> 6<!--Tester: @lixueqing513--> 7<!--Adviser: @huipeizi--> 8 9定义应用状态监听,可以作为[on](js-apis-app-ability-appManager.md#appmanageronapplicationstate14)的入参监听当前应用的生命周期变化。 10 11> **说明:** 12> 13> 本模块首批接口从API version 14开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14 15## 导入模块 16 17```ts 18import { appManager } from '@kit.AbilityKit'; 19``` 20 21## ApplicationStateObserver.onForegroundApplicationChanged 22 23onForegroundApplicationChanged(appStateData: AppStateData): void 24 25应用前后台状态发生变化时执行的回调函数。 26 27**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 28 29**参数**: 30 31| 参数名 | 类型 | 必填 | 说明 | 32| -------- | -------- | -------- | -------- | 33| appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | 是 | 应用状态信息。 | 34 35## ApplicationStateObserver.onAbilityStateChanged 36 37onAbilityStateChanged(abilityStateData: AbilityStateData): void 38 39ability状态发生变化时执行的回调函数。 40 41**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 42 43**参数**: 44 45| 参数名 | 类型 | 必填 | 说明 | 46| -------- | -------- | -------- | -------- | 47| abilityStateData | [AbilityStateData](js-apis-inner-application-abilityStateData.md) | 是 | Ability状态信息。 | 48 49## ApplicationStateObserver.onProcessCreated 50 51onProcessCreated(processData: ProcessData): void 52 53进程创建时执行的回调函数。 54 55**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 56 57**参数**: 58 59| 参数名 | 类型 | 必填 | 说明 | 60| -------- | -------- | -------- | -------- | 61| processData | [ProcessData](js-apis-inner-application-processData.md) | 是 | 进程数据信息。 | 62 63## ApplicationStateObserver.onProcessDied 64 65onProcessDied(processData: ProcessData): void 66 67进程销毁时执行的回调函数。 68 69**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 70 71**参数**: 72 73| 参数名 | 类型 | 必填 | 说明 | 74| -------- | -------- | -------- | -------- | 75| processData | [ProcessData](js-apis-inner-application-processData.md) | 是 | 进程数据信息。 | 76 77## ApplicationStateObserver.onProcessStateChanged 78 79onProcessStateChanged(processData: ProcessData): void 80 81进程状态更新时执行的回调函数。 82 83**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 84 85**参数**: 86 87| 参数名 | 类型 | 必填 | 说明 | 88| -------- | -------- | -------- | -------- | 89| processData | [ProcessData](js-apis-inner-application-processData.md) | 是 | 进程数据信息。 | 90 91## ApplicationStateObserver.onAppStarted 92 93onAppStarted(appStateData: AppStateData): void 94 95应用第一个进程创建时执行的回调函数。 96 97**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 98 99**参数**: 100 101| 参数名 | 类型 | 必填 | 说明 | 102| -------- | -------- | -------- | -------- | 103| appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | 是 | 应用状态信息。 | 104 105## ApplicationStateObserver.onAppStopped 106 107onAppStopped(appStateData: AppStateData): void 108 109应用最后一个进程销毁时执行的回调函数。 110 111**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 112 113**参数**: 114 115| 参数名 | 类型 | 必填 | 说明 | 116| -------- | -------- | -------- | -------- | 117| appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | 是 | 应用状态信息。 | 118 119## ProcessData 120 121type ProcessData = _ProcessData.default 122 123进程数据信息。 124 125**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 126 127| 类型 | 说明 | 128| --- | --- | 129| [_ProcessData.default](js-apis-inner-application-processData.md) | 进程数据信息。 | 130 131**示例:** 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```