# ApplicationStateObserver 定义应用状态监听,可以作为[on](js-apis-app-ability-appManager.md#appmanageronapplicationstate)的入参监听当前应用的生命周期变化。 > **说明:** > > 本模块首批接口从API version 14开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 ```ts import { appManager } from '@kit.AbilityKit'; ``` ## ApplicationStateObserver.onForegroundApplicationChanged onForegroundApplicationChanged(appStateData: AppStateData): void 应用前后台状态发生变化时执行的回调函数。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | 是 | 应用状态信息。 | ## ApplicationStateObserver.onAbilityStateChanged onAbilityStateChanged(abilityStateData: AbilityStateData): void ability状态发生变化时执行的回调函数。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | abilityStateData | [AbilityStateData](js-apis-inner-application-abilityStateData.md) | 是 | Ability状态信息。 | ## ApplicationStateObserver.onProcessCreated onProcessCreated(processData: ProcessData): void 进程创建时执行的回调函数。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | processData | [ProcessData](js-apis-inner-application-processData.md) | 是 | 进程数据信息。 | ## ApplicationStateObserver.onProcessDied onProcessDied(processData: ProcessData): void 进程销毁时执行的回调函数。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | processData | [ProcessData](js-apis-inner-application-processData.md) | 是 | 进程数据信息。 | ## ApplicationStateObserver.onProcessStateChanged onProcessStateChanged(processData: ProcessData): void 进程状态更新时执行的回调函数。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | processData | [ProcessData](js-apis-inner-application-processData.md) | 是 | 进程数据信息。 | ## ApplicationStateObserver.onAppStarted onAppStarted(appStateData: AppStateData): void 应用第一个进程创建时执行的回调函数。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | 是 | 应用状态信息。 | ## ApplicationStateObserver.onAppStopped onAppStopped(appStateData: AppStateData): void 应用最后一个进程销毁时执行的回调函数。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | 是 | 应用状态信息。 | ## ProcessData type ProcessData = _ProcessData.default 进程数据信息。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core | 类型 | 说明 | | --- | --- | | [_ProcessData.default](js-apis-inner-application-processData.md) | 进程数据信息。 | **示例:** ```ts import { appManager } from '@kit.AbilityKit'; let applicationStateObserver: appManager.ApplicationStateObserver = { onForegroundApplicationChanged(appStateData) { console.log(`onForegroundApplicationChanged appStateData: ${JSON.stringify(appStateData)}`); }, onAbilityStateChanged(abilityStateData) { console.log(`onAbilityStateChanged onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`); }, onProcessCreated(processData) { console.log(`onProcessCreated onProcessCreated: ${JSON.stringify(processData)}`); }, onProcessDied(processData) { console.log(`onProcessDied onProcessDied: ${JSON.stringify(processData)}`); }, onProcessStateChanged(processData) { console.log(`onProcessStateChanged onProcessStateChanged: ${JSON.stringify(processData)}`); }, onAppStarted(appStateData) { console.log(`onAppStarted appStateData: ${JSON.stringify(appStateData)}`); }, onAppStopped(appStateData) { console.log(`onAppStopped appStateData: ${JSON.stringify(appStateData)}`); } }; let observerCode = appManager.on('applicationState', applicationStateObserver); ```