• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ApplicationStateObserver
2<!--Kit: Ability Kit-->
3<!--Subsystem: Ability-->
4<!--Owner: @SKY2001-->
5<!--Designer: @yzkp-->
6<!--Tester: @lixueqing513-->
7<!--Adviser: @huipeizi-->
8
9The module defines an observer to listen for application state changes. It can be used as an input parameter in [on](js-apis-app-ability-appManager.md#appmanageronapplicationstate14) to listen for lifecycle changes of the current application.
10
11> **NOTE**
12>
13> The initial APIs of this module are supported since API version 14. Newly added APIs will be marked with a superscript to indicate their earliest API version.
14
15## Modules to Import
16
17```ts
18import { appManager } from '@kit.AbilityKit';
19```
20
21## ApplicationStateObserver.onForegroundApplicationChanged
22
23onForegroundApplicationChanged(appStateData: AppStateData): void
24
25Called when the foreground or background state of an application changes.
26
27**System capability**: SystemCapability.Ability.AbilityRuntime.Core
28
29**Parameters**
30
31| Name| Type| Mandatory| Description|
32| -------- | -------- | -------- | -------- |
33| appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | Yes| Application state data.|
34
35## ApplicationStateObserver.onAbilityStateChanged
36
37onAbilityStateChanged(abilityStateData: AbilityStateData): void
38
39Called when the ability state changes.
40
41**System capability**: SystemCapability.Ability.AbilityRuntime.Core
42
43**Parameters**
44
45| Name| Type| Mandatory| Description|
46| -------- | -------- | -------- | -------- |
47| abilityStateData | [AbilityStateData](js-apis-inner-application-abilityStateData.md) | Yes| Ability state data.|
48
49## ApplicationStateObserver.onProcessCreated
50
51onProcessCreated(processData: ProcessData): void
52
53Called when a process is created.
54
55**System capability**: SystemCapability.Ability.AbilityRuntime.Core
56
57**Parameters**
58
59| Name| Type| Mandatory| Description|
60| -------- | -------- | -------- | -------- |
61| processData | [ProcessData](js-apis-inner-application-processData.md) | Yes| Process data.|
62
63## ApplicationStateObserver.onProcessDied
64
65onProcessDied(processData: ProcessData): void
66
67Called when a process is destroyed.
68
69**System capability**: SystemCapability.Ability.AbilityRuntime.Core
70
71**Parameters**
72
73| Name| Type| Mandatory| Description|
74| -------- | -------- | -------- | -------- |
75| processData | [ProcessData](js-apis-inner-application-processData.md) | Yes| Process data.|
76
77## ApplicationStateObserver.onProcessStateChanged
78
79onProcessStateChanged(processData: ProcessData): void
80
81Called when the process state is changed.
82
83**System capability**: SystemCapability.Ability.AbilityRuntime.Core
84
85**Parameters**
86
87| Name| Type| Mandatory| Description|
88| -------- | -------- | -------- | -------- |
89| processData | [ProcessData](js-apis-inner-application-processData.md) | Yes| Process data.|
90
91## ApplicationStateObserver.onAppStarted
92
93onAppStarted(appStateData: AppStateData): void
94
95Called when the first process of the application is created.
96
97**System capability**: SystemCapability.Ability.AbilityRuntime.Core
98
99**Parameters**
100
101| Name| Type| Mandatory| Description|
102| -------- | -------- | -------- | -------- |
103| appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | Yes| Application state data.|
104
105## ApplicationStateObserver.onAppStopped
106
107onAppStopped(appStateData: AppStateData): void
108
109Called when the last process of the application is destroyed.
110
111**System capability**: SystemCapability.Ability.AbilityRuntime.Core
112
113**Parameters**
114
115| Name| Type| Mandatory| Description|
116| -------- | -------- | -------- | -------- |
117| appStateData | [AppStateData](js-apis-inner-application-appStateData.md) | Yes| Application state data.|
118
119## ProcessData
120
121type ProcessData = _ProcessData.default
122
123Defines the process data.
124
125**System capability**: SystemCapability.Ability.AbilityRuntime.Core
126
127| Type| Description|
128| --- | --- |
129| [_ProcessData.default](js-apis-inner-application-processData.md) | Process data.|
130
131**Example**
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```
160