1# ApplicationStateObserver (系统接口) 2 3定义应用状态监听,可以作为[on](js-apis-app-ability-appManager-sys.md#appmanageronapplicationstate)的入参监听当前应用的生命周期变化。 4 5> **说明:** 6> 7> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 本模块接口为系统接口。 9 10## 导入模块 11 12```ts 13import { appManager } from '@kit.AbilityKit'; 14``` 15 16## 属性 17 18**系统接口**:该接口为系统接口,三方应用不支持调用。 19 20**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core 21 22| 名称 | 类型 | 可读 | 可写 | 说明 | 23| -------------------------------- | ---------------------- | ---- | ---- | ------------------ | 24| onForegroundApplicationChanged | AsyncCallback\<void> | 是 | 否 | 应用前后台状态发生变化时执行的回调函数。传入参数类型是[AppStateData](js-apis-inner-application-appStateData-sys.md)。 | 25| onAbilityStateChanged | AsyncCallback\<void> | 是 | 否 | ability状态发生变化时执行的回调函数。传入参数类型是[AbilityStateData](js-apis-inner-application-abilityStateData-sys.md)。 | 26| onProcessCreated | AsyncCallback\<void> | 是 | 否 | 进程创建时执行的回调函数。传入参数类型是[ProcessData](js-apis-inner-application-processData-sys.md)。 | 27| onProcessDied | AsyncCallback\<void> | 是 | 否 | 进程销毁时执行的回调函数。传入参数类型是[ProcessData](js-apis-inner-application-processData-sys.md)。 | 28| onProcessStateChanged<sup>9+</sup> | AsyncCallback\<void> | 是 | 否 | 进程状态更新时执行的回调函数。传入参数类型是[ProcessData](js-apis-inner-application-processData-sys.md)。 | 29| onAppStarted<sup>12+</sup> | AsyncCallback\<void> | 是 | 否 | 应用第一个进程创建时执行的回调函数。传入参数类型是[AppStateData](js-apis-inner-application-appStateData-sys.md)。 | 30| onAppStopped<sup>12+</sup> | AsyncCallback\<void> | 是 | 否 | 应用最后一个进程销毁时执行的回调函数。传入参数类型是[AppStateData](js-apis-inner-application-appStateData-sys.md)。 | 31 32**示例:** 33```ts 34import { appManager } from '@kit.AbilityKit'; 35 36let applicationStateObserver: appManager.ApplicationStateObserver = { 37 onForegroundApplicationChanged(appStateData) { 38 console.log(`onForegroundApplicationChanged appStateData: ${JSON.stringify(appStateData)}`); 39 }, 40 onAbilityStateChanged(abilityStateData) { 41 console.log(`onAbilityStateChanged onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`); 42 }, 43 onProcessCreated(processData) { 44 console.log(`onProcessCreated onProcessCreated: ${JSON.stringify(processData)}`); 45 }, 46 onProcessDied(processData) { 47 console.log(`onProcessDied onProcessDied: ${JSON.stringify(processData)}`); 48 }, 49 onProcessStateChanged(processData) { 50 console.log(`onProcessStateChanged onProcessStateChanged: ${JSON.stringify(processData)}`); 51 }, 52 onAppStarted(appStateData) { 53 console.log(`onAppStarted appStateData: ${JSON.stringify(appStateData)}`); 54 }, 55 onAppStopped(appStateData) { 56 console.log(`onAppStopped appStateData: ${JSON.stringify(appStateData)}`); 57 } 58}; 59let observerCode = appManager.on('applicationState', applicationStateObserver); 60```