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