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