1e41f4b71Sopenharmony_ci# @ohos.app.ability.abilityLifecycleCallback (AbilityLifecycleCallback)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciAbilityLifecycleCallback模块提供应用上下文[ApplicationContext](js-apis-inner-application-applicationContext.md)的生命周期发生变化时触发相应回调的能力。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **说明:**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8e41f4b71Sopenharmony_ci>
9e41f4b71Sopenharmony_ci> 本模块接口仅可在Stage模型下使用。
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci## 导入模块
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci```ts
14e41f4b71Sopenharmony_ciimport { AbilityLifecycleCallback } from '@kit.AbilityKit';
15e41f4b71Sopenharmony_ci```
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilityCreate
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_cionAbilityCreate(ability: UIAbility): void
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在ability创建时触发回调。
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci**参数:**
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
30e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
31e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci**示例:**
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onWindowStageCreate
38e41f4b71Sopenharmony_ci
39e41f4b71Sopenharmony_cionWindowStageCreate(ability: UIAbility, windowStage: window.WindowStage): void
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在windowStage创建时触发回调。
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
44e41f4b71Sopenharmony_ci
45e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci**参数:**
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
50e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
51e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
52e41f4b71Sopenharmony_ci  | windowStage | [window.WindowStage](../apis-arkui/js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci**示例:**
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onWindowStageActive
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_cionWindowStageActive(ability: UIAbility, windowStage: window.WindowStage): void
61e41f4b71Sopenharmony_ci
62e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在windowStage获焦时触发回调。
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
67e41f4b71Sopenharmony_ci
68e41f4b71Sopenharmony_ci**参数:**
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
71e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
72e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
73e41f4b71Sopenharmony_ci  | windowStage | [window.WindowStage](../apis-arkui/js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci**示例:**
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onWindowStageInactive
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_cionWindowStageInactive(ability: UIAbility, windowStage: window.WindowStage): void
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在windowStage失焦时触发回调。
84e41f4b71Sopenharmony_ci
85e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ci**参数:**
90e41f4b71Sopenharmony_ci
91e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
92e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
93e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
94e41f4b71Sopenharmony_ci  | windowStage | [window.WindowStage](../apis-arkui/js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci**示例:**
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onWindowStageDestroy
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_cionWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。
105e41f4b71Sopenharmony_ci
106e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci**参数:**
111e41f4b71Sopenharmony_ci
112e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
113e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
114e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
115e41f4b71Sopenharmony_ci  | windowStage | [window.WindowStage](../apis-arkui/js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
116e41f4b71Sopenharmony_ci
117e41f4b71Sopenharmony_ci**示例:**
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilityDestroy
122e41f4b71Sopenharmony_ci
123e41f4b71Sopenharmony_cionAbilityDestroy(ability: UIAbility): void
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在ability销毁时触发回调。
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
128e41f4b71Sopenharmony_ci
129e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ci**参数:**
132e41f4b71Sopenharmony_ci
133e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
134e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
135e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
136e41f4b71Sopenharmony_ci
137e41f4b71Sopenharmony_ci**示例:**
138e41f4b71Sopenharmony_ci
139e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
140e41f4b71Sopenharmony_ci
141e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilityForeground
142e41f4b71Sopenharmony_ci
143e41f4b71Sopenharmony_cionAbilityForeground(ability: UIAbility): void
144e41f4b71Sopenharmony_ci
145e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在ability的状态从后台转到前台时触发回调。
146e41f4b71Sopenharmony_ci
147e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
148e41f4b71Sopenharmony_ci
149e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
150e41f4b71Sopenharmony_ci
151e41f4b71Sopenharmony_ci**参数:**
152e41f4b71Sopenharmony_ci
153e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
154e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
155e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
156e41f4b71Sopenharmony_ci
157e41f4b71Sopenharmony_ci**示例:**
158e41f4b71Sopenharmony_ci
159e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
160e41f4b71Sopenharmony_ci
161e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilityBackground
162e41f4b71Sopenharmony_ci
163e41f4b71Sopenharmony_cionAbilityBackground(ability: UIAbility): void
164e41f4b71Sopenharmony_ci
165e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在ability的状态从前台转到后台时触发回调。
166e41f4b71Sopenharmony_ci
167e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
168e41f4b71Sopenharmony_ci
169e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
170e41f4b71Sopenharmony_ci
171e41f4b71Sopenharmony_ci**参数:**
172e41f4b71Sopenharmony_ci
173e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
174e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
175e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
176e41f4b71Sopenharmony_ci
177e41f4b71Sopenharmony_ci**示例:**
178e41f4b71Sopenharmony_ci
179e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
180e41f4b71Sopenharmony_ci
181e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilityContinue
182e41f4b71Sopenharmony_ci
183e41f4b71Sopenharmony_cionAbilityContinue(ability: UIAbility): void
184e41f4b71Sopenharmony_ci
185e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在ability迁移时触发回调。
186e41f4b71Sopenharmony_ci
187e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
188e41f4b71Sopenharmony_ci
189e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
190e41f4b71Sopenharmony_ci
191e41f4b71Sopenharmony_ci**参数:**
192e41f4b71Sopenharmony_ci
193e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
194e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
195e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
196e41f4b71Sopenharmony_ci
197e41f4b71Sopenharmony_ci**示例:**
198e41f4b71Sopenharmony_ci
199e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
200e41f4b71Sopenharmony_ci
201e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilityWillCreate<sup>12+</sup>
202e41f4b71Sopenharmony_ci
203e41f4b71Sopenharmony_cionAbilityWillCreate?(ability: UIAbility): void
204e41f4b71Sopenharmony_ci
205e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onCreate](js-apis-app-ability-uiAbility.md#uiabilityoncreate)触发前回调。
206e41f4b71Sopenharmony_ci
207e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
208e41f4b71Sopenharmony_ci
209e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
210e41f4b71Sopenharmony_ci
211e41f4b71Sopenharmony_ci**参数:**
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
214e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
215e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
216e41f4b71Sopenharmony_ci
217e41f4b71Sopenharmony_ci**示例:**
218e41f4b71Sopenharmony_ci
219e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
220e41f4b71Sopenharmony_ci
221e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onWindowStageWillCreate<sup>12+</sup>
222e41f4b71Sopenharmony_ci
223e41f4b71Sopenharmony_cionWindowStageWillCreate?(ability: UIAbility, windowStage: window.WindowStage): void
224e41f4b71Sopenharmony_ci
225e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onWindowStageCreate](js-apis-app-ability-uiAbility.md#uiabilityonwindowstagecreate)触发前回调。
226e41f4b71Sopenharmony_ci
227e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
228e41f4b71Sopenharmony_ci
229e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
230e41f4b71Sopenharmony_ci
231e41f4b71Sopenharmony_ci**参数:**
232e41f4b71Sopenharmony_ci
233e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
234e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
235e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
236e41f4b71Sopenharmony_ci  | windowStage | [window.WindowStage](../apis-arkui/js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
237e41f4b71Sopenharmony_ci
238e41f4b71Sopenharmony_ci**示例:**
239e41f4b71Sopenharmony_ci
240e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
241e41f4b71Sopenharmony_ci
242e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onWindowStageWillDestroy<sup>12+</sup>
243e41f4b71Sopenharmony_ci
244e41f4b71Sopenharmony_cionWindowStageWillDestroy?(ability: UIAbility, windowStage: window.WindowStage): void
245e41f4b71Sopenharmony_ci
246e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onWindowStageDestroy](js-apis-app-ability-uiAbility.md#uiabilityonwindowstagedestroy)触发前回调。
247e41f4b71Sopenharmony_ci
248e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
249e41f4b71Sopenharmony_ci
250e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
251e41f4b71Sopenharmony_ci
252e41f4b71Sopenharmony_ci**参数:**
253e41f4b71Sopenharmony_ci
254e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
255e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
256e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
257e41f4b71Sopenharmony_ci  | windowStage | [window.WindowStage](../apis-arkui/js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
258e41f4b71Sopenharmony_ci
259e41f4b71Sopenharmony_ci**示例:**
260e41f4b71Sopenharmony_ci
261e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
262e41f4b71Sopenharmony_ci
263e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilityWillForeground<sup>12+</sup>
264e41f4b71Sopenharmony_ci
265e41f4b71Sopenharmony_cionAbilityWillForeground?(ability: UIAbility): void
266e41f4b71Sopenharmony_ci
267e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onForeground](js-apis-app-ability-uiAbility.md#uiabilityonforeground)触发前回调。
268e41f4b71Sopenharmony_ci
269e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
270e41f4b71Sopenharmony_ci
271e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
272e41f4b71Sopenharmony_ci
273e41f4b71Sopenharmony_ci**参数:**
274e41f4b71Sopenharmony_ci
275e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
276e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
277e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
278e41f4b71Sopenharmony_ci
279e41f4b71Sopenharmony_ci**示例:**
280e41f4b71Sopenharmony_ci
281e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
282e41f4b71Sopenharmony_ci
283e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilityWillDestroy<sup>12+</sup>
284e41f4b71Sopenharmony_ci
285e41f4b71Sopenharmony_cionAbilityWillDestroy?(ability: UIAbility): void
286e41f4b71Sopenharmony_ci
287e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onDestroy](js-apis-app-ability-uiAbility.md#uiabilityondestroy)触发前回调。
288e41f4b71Sopenharmony_ci
289e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
290e41f4b71Sopenharmony_ci
291e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
292e41f4b71Sopenharmony_ci
293e41f4b71Sopenharmony_ci**参数:**
294e41f4b71Sopenharmony_ci
295e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
296e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
297e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
298e41f4b71Sopenharmony_ci
299e41f4b71Sopenharmony_ci**示例:**
300e41f4b71Sopenharmony_ci
301e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
302e41f4b71Sopenharmony_ci
303e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilityWillBackground<sup>12+</sup>
304e41f4b71Sopenharmony_ci
305e41f4b71Sopenharmony_cionAbilityWillBackground?(ability: UIAbility): void
306e41f4b71Sopenharmony_ci
307e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onBackground](js-apis-app-ability-uiAbility.md#uiabilityonbackground)触发前回调。
308e41f4b71Sopenharmony_ci
309e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
310e41f4b71Sopenharmony_ci
311e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
312e41f4b71Sopenharmony_ci
313e41f4b71Sopenharmony_ci**参数:**
314e41f4b71Sopenharmony_ci
315e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
316e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
317e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
318e41f4b71Sopenharmony_ci
319e41f4b71Sopenharmony_ci**示例:**
320e41f4b71Sopenharmony_ci
321e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
322e41f4b71Sopenharmony_ci
323e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onWillNewWant<sup>12+</sup>
324e41f4b71Sopenharmony_ci
325e41f4b71Sopenharmony_cionWillNewWant?(ability: UIAbility): void
326e41f4b71Sopenharmony_ci
327e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onNewWant](js-apis-app-ability-uiAbility.md#uiabilityonnewwant)触发前回调。
328e41f4b71Sopenharmony_ci
329e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
330e41f4b71Sopenharmony_ci
331e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
332e41f4b71Sopenharmony_ci
333e41f4b71Sopenharmony_ci**参数:**
334e41f4b71Sopenharmony_ci
335e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
336e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
337e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
338e41f4b71Sopenharmony_ci
339e41f4b71Sopenharmony_ci**示例:**
340e41f4b71Sopenharmony_ci
341e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
342e41f4b71Sopenharmony_ci
343e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onNewWant<sup>12+</sup>
344e41f4b71Sopenharmony_ci
345e41f4b71Sopenharmony_cionNewWant?(ability: UIAbility): void
346e41f4b71Sopenharmony_ci
347e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onNewWant](js-apis-app-ability-uiAbility.md#uiabilityonnewwant)触发后回调。
348e41f4b71Sopenharmony_ci
349e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
350e41f4b71Sopenharmony_ci
351e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
352e41f4b71Sopenharmony_ci
353e41f4b71Sopenharmony_ci**参数:**
354e41f4b71Sopenharmony_ci
355e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
356e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
357e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
358e41f4b71Sopenharmony_ci
359e41f4b71Sopenharmony_ci**示例:**
360e41f4b71Sopenharmony_ci
361e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
362e41f4b71Sopenharmony_ci
363e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilityWillContinue<sup>12+</sup>
364e41f4b71Sopenharmony_ci
365e41f4b71Sopenharmony_cionAbilityWillContinue?(ability: UIAbility): void
366e41f4b71Sopenharmony_ci
367e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onContinue](js-apis-app-ability-uiAbility.md#uiabilityoncontinue)触发前回调。
368e41f4b71Sopenharmony_ci
369e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
370e41f4b71Sopenharmony_ci
371e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
372e41f4b71Sopenharmony_ci
373e41f4b71Sopenharmony_ci**参数:**
374e41f4b71Sopenharmony_ci
375e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
376e41f4b71Sopenharmony_ci  | ------ | ------ | ------ | ------ |
377e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
378e41f4b71Sopenharmony_ci
379e41f4b71Sopenharmony_ci**示例:**
380e41f4b71Sopenharmony_ci
381e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
382e41f4b71Sopenharmony_ci
383e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onWindowStageWillRestore<sup>12+</sup>
384e41f4b71Sopenharmony_ci
385e41f4b71Sopenharmony_cionWindowStageWillRestore?(ability: UIAbility, windowStage: window.WindowStage): void
386e41f4b71Sopenharmony_ci
387e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onWindowStageRestore](js-apis-app-ability-uiAbility.md#uiabilityonwindowstagerestore)触发前回调。
388e41f4b71Sopenharmony_ci
389e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
390e41f4b71Sopenharmony_ci
391e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
392e41f4b71Sopenharmony_ci
393e41f4b71Sopenharmony_ci**参数:**
394e41f4b71Sopenharmony_ci
395e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
396e41f4b71Sopenharmony_ci  | ------ | ------ | ------ | ------ |
397e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
398e41f4b71Sopenharmony_ci  | windowStage | [window.WindowStage](../apis-arkui/js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
399e41f4b71Sopenharmony_ci
400e41f4b71Sopenharmony_ci**示例:**
401e41f4b71Sopenharmony_ci
402e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
403e41f4b71Sopenharmony_ci
404e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onWindowStageRestore<sup>12+</sup>
405e41f4b71Sopenharmony_ci
406e41f4b71Sopenharmony_cionWindowStageRestore?(ability: UIAbility, windowStage: window.WindowStage): void
407e41f4b71Sopenharmony_ci
408e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onWindowStageRestore](js-apis-app-ability-uiAbility.md#uiabilityonwindowstagerestore)触发后回调。
409e41f4b71Sopenharmony_ci
410e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
411e41f4b71Sopenharmony_ci
412e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
413e41f4b71Sopenharmony_ci
414e41f4b71Sopenharmony_ci**参数:**
415e41f4b71Sopenharmony_ci
416e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
417e41f4b71Sopenharmony_ci  | ------ | ------ | ------ | ------ |
418e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
419e41f4b71Sopenharmony_ci  | windowStage | [window.WindowStage](../apis-arkui/js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
420e41f4b71Sopenharmony_ci
421e41f4b71Sopenharmony_ci**示例:**
422e41f4b71Sopenharmony_ci
423e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
424e41f4b71Sopenharmony_ci
425e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilityWillSaveState<sup>12+</sup>
426e41f4b71Sopenharmony_ci
427e41f4b71Sopenharmony_cionAbilityWillSaveState?(ability: UIAbility): void
428e41f4b71Sopenharmony_ci
429e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onSaveState](js-apis-app-ability-uiAbility.md#uiabilityonsavestate)触发前回调。
430e41f4b71Sopenharmony_ci
431e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
432e41f4b71Sopenharmony_ci
433e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
434e41f4b71Sopenharmony_ci
435e41f4b71Sopenharmony_ci**参数:**
436e41f4b71Sopenharmony_ci
437e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
438e41f4b71Sopenharmony_ci  | ------ | ------ | ------ | ------ |
439e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
440e41f4b71Sopenharmony_ci
441e41f4b71Sopenharmony_ci**示例:**
442e41f4b71Sopenharmony_ci
443e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
444e41f4b71Sopenharmony_ci
445e41f4b71Sopenharmony_ci## AbilityLifecycleCallback.onAbilitySaveState<sup>12+</sup>
446e41f4b71Sopenharmony_ci
447e41f4b71Sopenharmony_cionAbilitySaveState?(ability: UIAbility): void
448e41f4b71Sopenharmony_ci
449e41f4b71Sopenharmony_ci注册监听应用上下文的生命周期后,在UIAbility的[onSaveState](js-apis-app-ability-uiAbility.md#uiabilityonsavestate)触发后回调。
450e41f4b71Sopenharmony_ci
451e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
452e41f4b71Sopenharmony_ci
453e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
454e41f4b71Sopenharmony_ci
455e41f4b71Sopenharmony_ci**参数:**
456e41f4b71Sopenharmony_ci
457e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
458e41f4b71Sopenharmony_ci  | ------ | ------ | ------ | ------ |
459e41f4b71Sopenharmony_ci  | ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 当前Ability对象 |
460e41f4b71Sopenharmony_ci
461e41f4b71Sopenharmony_ci**示例:**
462e41f4b71Sopenharmony_ci
463e41f4b71Sopenharmony_ci参见[AbilityLifecycleCallback使用](#abilitylifecyclecallback使用)。
464e41f4b71Sopenharmony_ci
465e41f4b71Sopenharmony_ci## AbilityLifecycleCallback使用
466e41f4b71Sopenharmony_ci
467e41f4b71Sopenharmony_ci**示例:**
468e41f4b71Sopenharmony_ciGlobalContext.ts
469e41f4b71Sopenharmony_ci全局Context
470e41f4b71Sopenharmony_ci```ts
471e41f4b71Sopenharmony_ci// 构造单例对象
472e41f4b71Sopenharmony_ciexport class GlobalContext {
473e41f4b71Sopenharmony_ci  private constructor() {}
474e41f4b71Sopenharmony_ci  private static instance: GlobalContext;
475e41f4b71Sopenharmony_ci  private _objects = new Map<string, Object>();
476e41f4b71Sopenharmony_ci
477e41f4b71Sopenharmony_ci  public static getContext(): GlobalContext {
478e41f4b71Sopenharmony_ci    if (!GlobalContext.instance) {
479e41f4b71Sopenharmony_ci      GlobalContext.instance = new GlobalContext();
480e41f4b71Sopenharmony_ci    }
481e41f4b71Sopenharmony_ci    return GlobalContext.instance;
482e41f4b71Sopenharmony_ci  }
483e41f4b71Sopenharmony_ci
484e41f4b71Sopenharmony_ci  getObject(value: string): Object | undefined {
485e41f4b71Sopenharmony_ci    return this._objects.get(value);
486e41f4b71Sopenharmony_ci  }
487e41f4b71Sopenharmony_ci
488e41f4b71Sopenharmony_ci  setObject(key: string, objectClass: Object): void {
489e41f4b71Sopenharmony_ci    this._objects.set(key, objectClass);
490e41f4b71Sopenharmony_ci  }
491e41f4b71Sopenharmony_ci}
492e41f4b71Sopenharmony_ci```
493e41f4b71Sopenharmony_ci
494e41f4b71Sopenharmony_ciMyFirstAbility.ts
495e41f4b71Sopenharmony_ci应用的第一个Ability
496e41f4b71Sopenharmony_ci```ts
497e41f4b71Sopenharmony_ciimport { AbilityLifecycleCallback, UIAbility } from '@kit.AbilityKit';
498e41f4b71Sopenharmony_ciimport { window } from '@kit.ArkUI';
499e41f4b71Sopenharmony_ci
500e41f4b71Sopenharmony_ci// 导入GlobalContext,以开发者自己声明的路径为准
501e41f4b71Sopenharmony_ciimport { GlobalContext } from '../GlobalContext'
502e41f4b71Sopenharmony_ci
503e41f4b71Sopenharmony_ci// 声明ability生命周期回调,需配置所有回调后才可以在applicationContext注册
504e41f4b71Sopenharmony_cilet abilityLifecycleCallback: AbilityLifecycleCallback = {
505e41f4b71Sopenharmony_ci  onAbilityCreate(ability){
506e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilityCreate.');
507e41f4b71Sopenharmony_ci  },
508e41f4b71Sopenharmony_ci  onWindowStageCreate(ability, windowStage){
509e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onWindowStageCreate.');
510e41f4b71Sopenharmony_ci  },
511e41f4b71Sopenharmony_ci  onWindowStageActive(ability, windowStage){
512e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onWindowStageActive.');
513e41f4b71Sopenharmony_ci  },
514e41f4b71Sopenharmony_ci  onWindowStageInactive(ability, windowStage){
515e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onWindowStageInactive.');
516e41f4b71Sopenharmony_ci  },
517e41f4b71Sopenharmony_ci  onWindowStageDestroy(ability, windowStage){
518e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onWindowStageDestroy.');
519e41f4b71Sopenharmony_ci  },
520e41f4b71Sopenharmony_ci  onAbilityDestroy(ability){
521e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilityDestroy.');
522e41f4b71Sopenharmony_ci  },
523e41f4b71Sopenharmony_ci  onAbilityForeground(ability){
524e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilityForeground.');
525e41f4b71Sopenharmony_ci  },
526e41f4b71Sopenharmony_ci  onAbilityBackground(ability){
527e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilityBackground.');
528e41f4b71Sopenharmony_ci  },
529e41f4b71Sopenharmony_ci  onAbilityContinue(ability){
530e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilityContinue.');
531e41f4b71Sopenharmony_ci  },
532e41f4b71Sopenharmony_ci  onNewWant(ability) {
533e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onNewWant');
534e41f4b71Sopenharmony_ci  },
535e41f4b71Sopenharmony_ci  onWillNewWant(ability) {
536e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onWillNewWant');
537e41f4b71Sopenharmony_ci  },
538e41f4b71Sopenharmony_ci  onAbilityWillCreate(ability) {
539e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilityWillCreate');
540e41f4b71Sopenharmony_ci  },
541e41f4b71Sopenharmony_ci  onWindowStageWillCreate(ability, windowStage) {
542e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onWindowStageWillCreate');
543e41f4b71Sopenharmony_ci  },
544e41f4b71Sopenharmony_ci  onWindowStageWillDestroy(ability, windowStage) {
545e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onWindowStageWillDestroy');
546e41f4b71Sopenharmony_ci  },
547e41f4b71Sopenharmony_ci  onAbilityWillDestroy(ability) {
548e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilityWillDestroy');
549e41f4b71Sopenharmony_ci  },
550e41f4b71Sopenharmony_ci  onAbilityWillForeground(ability) {
551e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilityWillForeground');
552e41f4b71Sopenharmony_ci  },
553e41f4b71Sopenharmony_ci  onAbilityWillBackground(ability) {
554e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilityWillBackground');
555e41f4b71Sopenharmony_ci  },
556e41f4b71Sopenharmony_ci  onAbilityWillContinue(ability: UIAbility) {
557e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilityWillContinue.');
558e41f4b71Sopenharmony_ci  },
559e41f4b71Sopenharmony_ci  onWindowStageWillRestore(ability: UIAbility, windowStage: window.WindowStage) {
560e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onWindowStageWillRestore.');
561e41f4b71Sopenharmony_ci  },
562e41f4b71Sopenharmony_ci  onWindowStageRestore(ability: UIAbility, windowStage: window.WindowStage) {
563e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onWindowStageRestore.');
564e41f4b71Sopenharmony_ci  },
565e41f4b71Sopenharmony_ci  onAbilityWillSaveState(ability: UIAbility) {
566e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilityWillSaveState.');
567e41f4b71Sopenharmony_ci  },
568e41f4b71Sopenharmony_ci  onAbilitySaveState(ability: UIAbility) {
569e41f4b71Sopenharmony_ci    console.log('AbilityLifecycleCallback onAbilitySaveState.');
570e41f4b71Sopenharmony_ci  }
571e41f4b71Sopenharmony_ci};
572e41f4b71Sopenharmony_ci
573e41f4b71Sopenharmony_ciexport default class MyFirstAbility extends UIAbility {
574e41f4b71Sopenharmony_ci  onCreate() {
575e41f4b71Sopenharmony_ci    console.log('MyAbilityStage onCreate');
576e41f4b71Sopenharmony_ci    // 1.通过context属性获取applicationContext
577e41f4b71Sopenharmony_ci    let applicationContext = this.context.getApplicationContext();
578e41f4b71Sopenharmony_ci    // 2.通过applicationContext注册监听应用内生命周期
579e41f4b71Sopenharmony_ci    try {
580e41f4b71Sopenharmony_ci      let lifecycleId = applicationContext.on('abilityLifecycle', abilityLifecycleCallback);
581e41f4b71Sopenharmony_ci      GlobalContext.getContext().setObject("lifecycleId", lifecycleId);
582e41f4b71Sopenharmony_ci      console.log(`registerAbilityLifecycleCallback lifecycleId: ${GlobalContext.getContext().getObject('lifecycleId')}`);
583e41f4b71Sopenharmony_ci    } catch (paramError) {
584e41f4b71Sopenharmony_ci      console.error(`error: ${paramError.code}, ${paramError.message}`);
585e41f4b71Sopenharmony_ci    }
586e41f4b71Sopenharmony_ci  }
587e41f4b71Sopenharmony_ci}
588e41f4b71Sopenharmony_ci```
589e41f4b71Sopenharmony_ci
590e41f4b71Sopenharmony_ciMySecondAbility.ts
591e41f4b71Sopenharmony_ci应用的第二个Ability
592e41f4b71Sopenharmony_ci```ts
593e41f4b71Sopenharmony_ciimport { UIAbility } from '@kit.AbilityKit';
594e41f4b71Sopenharmony_ci
595e41f4b71Sopenharmony_ci// 导入GlobalContext,以开发者自己声明的路径为准
596e41f4b71Sopenharmony_ciimport { GlobalContext } from '../GlobalContext'
597e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
598e41f4b71Sopenharmony_ci
599e41f4b71Sopenharmony_ciexport default class MySecondAbility extends UIAbility {
600e41f4b71Sopenharmony_ci  onDestroy() {
601e41f4b71Sopenharmony_ci    let applicationContext = this.context.getApplicationContext();
602e41f4b71Sopenharmony_ci    let lifecycleId = GlobalContext.getContext().getObject("lifecycleId") as number;
603e41f4b71Sopenharmony_ci    try {
604e41f4b71Sopenharmony_ci    // 3.通过applicationContext注销监听应用内生命周期
605e41f4b71Sopenharmony_ci      applicationContext.off('abilityLifecycle', lifecycleId, (error) => {
606e41f4b71Sopenharmony_ci        if (error && error.code !== 0) {
607e41f4b71Sopenharmony_ci          console.error(`unregisterAbilityLifecycleCallback fail, error: ${JSON.stringify(error)}`);
608e41f4b71Sopenharmony_ci        } else {
609e41f4b71Sopenharmony_ci          console.log('unregisterAbilityLifecycleCallback success.');
610e41f4b71Sopenharmony_ci        }
611e41f4b71Sopenharmony_ci      });
612e41f4b71Sopenharmony_ci    } catch (paramError) {
613e41f4b71Sopenharmony_ci      console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
614e41f4b71Sopenharmony_ci    }
615e41f4b71Sopenharmony_ci  }
616e41f4b71Sopenharmony_ci}
617e41f4b71Sopenharmony_ci```