鸿蒙原生应用/元服务开发-Stage模型能力接口(三)

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 一、说明 AbilityLifecycleCallback模块提供应用上下文ApplicationContext的生命周期发生变化时触发相应回调的能力,包括onAbilityCreate、onWindowStageCreate、onWindowStageActive、onWindowStageInactive、onWindowStageDestroy、onAbilityDestroy、onAbilityForeground、onAbilityBackground、onAbilityContinue方法。本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。本模块接口仅可在Stage模型下使用。 二、导入模块 import AbilityLifecycleCallback from '@ohos.app.ability.AbilityLifecycleCallback'; 1.AbilityLifecycleCallback.onAbilityCreate onAbilityCreate(ability: UIAbility): void; 注册监听应用上下文的生命周期后,在ability创建时触发回调。 系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore 参数: 示例: let abilityLifecycleCallback = { onAbilityCreate(ability){ console.log('AbilityLifecycleCallback onAbilityCreate.'); } }; 2.AbilityLifecycleCallback.onWindowStageCreate onWindowStageCreate(ability: UIAbility, windowStage: window.WindowStage): void; 注册监听应用上下文的生命周期后,在windowStage创建时触发回调。 系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore 参数: 示例: let abilityLifecycleCallback = { onAbilityCreate(ability){ console.log('AbilityLifecycleCallback onAbilityCreate.'); } }; 3.AbilityLifecycleCallback.onWindowStageCreate onWindowStageCreate(ability: UIAbility, windowStage: window.WindowStage): void; 注册监听应用上下文的生命周期后,在windowStage创建时触发回调。 系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore 参数: 示例: let abilityLifecycleCallback = { onWindowStageActive(ability, windowStage){ console.log('AbilityLifecycleCallback onWindowStageActive.'); } }; 4.AbilityLifecycleCallback.onWindowStageInactive onWindowStageInactive(ability: UIAbility, windowStage: window.WindowStage): void; 注册监听应用上下文的生命周期后,在windowStage失焦时触发回调。 系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore 参数: 示例: let abilityLifecycleCallback = { onWindowStageInactive(ability, windowStage){ console.log('AbilityLifecycleCallback onWindowStageInactive.'); } }; 5.AbilityLifecycleCallback.onWindowStageDestroy onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void; 注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。 系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore 参数: 示例: let abilityLifecycleCallback = { onWindowStageInactive(ability, windowStage){ console.log('AbilityLifecycleCallback onWindowStageInactive.'); } }; 6.AbilityLifecycleCallback.onWindowStageDestroy onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void; 注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。 系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore 参数: 示例: let abilityLifecycleCallback = { onWindowStageInactive(ability, windowStage){ console.log('AbilityLifecycleCallback onWindowStageInactive.'); } }; 7.AbilityLifecycleCallback.onWindowStageDestroy onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void; 注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。 系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore 参数: 示例: let abilityLifecycleCallback = { onWindowStageInactive(ability, windowStage){ console.log('AbilityLifecycleCallback onWindowStageInactive.'); } }; 8.AbilityLifecycleCallback.onWindowStageDestroy onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void; 注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。 系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore 参数: 示例: let abilityLifecycleCallback = { onAbilityBackground(ability){ console.log('AbilityLifecycleCallback onAbilityBackground.'); } }; 9.AbilityLifecycleCallback.onAbilityContinue onAbilityContinue(ability: UIAbility): void; 注册监听应用上下文的生命周期后,在ability迁移时触发回调。 系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore 参数: 示例: let abilityLifecycleCallback = { onAbilityContinue(ability){ console.log('AbilityLifecycleCallback onAbilityContinue.'); } }; AbilityLifecycleCallback使用 示例: MyFirstAbility.ts import AbilityLifecycleCallback from '@ohos.app.ability.AbilityLifecycleCallback'; import AbilityStage from '@ohos.app.ability.AbilityStage'; import UIAbility from '@ohos.app.ability.UIAbility'; // 声明ability生命周期回调,需配置所有回调后才可以在applicationContext注册 let abilityLifecycleCallback = { onAbilityCreate(ability){ console.log('AbilityLifecycleCallback onAbilityCreate.'); }, onWindowStageCreate(ability, windowStage){ console.log('AbilityLifecycleCallback onWindowStageCreate.'); }, onWindowStageActive(ability, windowStage){ console.log('AbilityLifecycleCallback onWindowStageActive.'); }, onWindowStageInactive(ability, windowStage){ console.log('AbilityLifecycleCallback onWindowStageInactive.'); }, onWindowStageDestroy(ability, windowStage){ console.log('AbilityLifecycleCallback onWindowStageDestroy.'); }, onAbilityDestroy(ability){ console.log('AbilityLifecycleCallback onAbilityDestroy.'); }, onAbilityForeground(ability){ console.log('AbilityLifecycleCallback onAbilityForeground.'); }, onAbilityBackground(ability){ console.log('AbilityLifecycleCallback onAbilityBackground.'); }, onAbilityContinue(ability){ console.log('AbilityLifecycleCallback onAbilityContinue.'); } }; export default class MyFirstAbility extends UIAbility { onCreate() { console.log('MyAbilityStage onCreate'); // 1.通过context属性获取applicationContext let applicationContext = this.context.getApplicationContext(); // 2.通过applicationContext注册监听应用内生命周期 try { globalThis.lifecycleId = applicationContext.on('abilityLifecycle', abilityLifecycleCallback); console.log('registerAbilityLifecycleCallback lifecycleId: ${globalThis.lifecycleId}'); } catch (paramError) { console.log('error: ' + paramError.code + ' ,' + paramError.message); } } } MySecondAbility.ts import UIAbility from '@ohos.app.ability.UIAbility'; export default class MySecondAbility extends UIAbility { onDestroy() { let applicationContext = this.context.getApplicationContext(); // 3.通过applicationContext注销监听应用内生命周期 applicationContext.off('abilityLifecycle', globalThis.lifecycleId, (error) => { if (error.code != 0) { console.log('unregisterAbilityLifecycleCallback failed, error: ' + JSON.stringify(error)); } else { console.log('unregisterAbilityLifecycleCallback success.'); } }); } } 本文根据HarmonyOS官方开发文档整理 |

相关推荐
程序员黑豆6 小时前
鸿蒙应用开发:@Provider 与 @Consumer 跨组件双向同步详解
前端·harmonyos
程序员黑豆7 小时前
鸿蒙应用开发之跨组件传参:@Provide 与 @Consume 跨层级数据同步详解
前端·harmonyos
懿路向前7 小时前
【HarmonyOS学习笔记】2026-07-30 | 小艺开放平台智能体接入实战
笔记·学习·harmonyos
大锅盖17 小时前
HarmonyOS ArkTS 的新手练手样例:从 Text 和 Button 开始,做一个会变化的计数页面
华为·harmonyos
袁震9 小时前
小图传输,大图呈现——用 HarmonyOS 7 端侧 AI 实现 4 倍图像超分重建
人工智能·华为·harmonyos
结网的兔子10 小时前
【前端开发】Web端迁移至 uni-app 及鸿蒙扩展方案对比
前端·uni-app·harmonyos
落叶飘飘s10 小时前
餐饮服务与软件创新的融合:解析海底捞 APP 的 Flutter 鸿蒙开发之路
flutter·华为·harmonyos
qizayaoshuap11 小时前
# HarmonyOS ArkTS 滑动删除列表实战(三):交互式列表增删操作
华为·harmonyos
GitCode官方12 小时前
openPangu-2.0-Pro 模型及技术报告正式开源上线 AtomGit AI
人工智能·华为·开源·harmonyos·atomgit
小雨青年13 小时前
【HarmonyOS 7开发者前瞻】12 HarmonyOS 7 API 26 验证问题记录指南:环境、日志与回归清单
华为·harmonyos