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```