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