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