鸿蒙原生应用/元服务开发-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官方开发文档整理 |

相关推荐
FrameNotWork20 小时前
HarmonyOS 新手引导扫光动画实现:打造炫酷的首次体验
华为·交互·harmonyos
●VON21 小时前
鸿蒙Flutter实战:待办事项三态筛选器
flutter·华为·harmonyos·鸿蒙
●VON21 小时前
鸿蒙Flutter实战:多选批量删除模式的实现
flutter·华为·harmonyos·鸿蒙
枫叶丹421 小时前
【HarmonyOS 6.0】Live View Kit 实况支持显示夕阳和赏月背景的技术解读与实践
开发语言·华为·harmonyos
不羁的木木21 小时前
ArkUI实战演练03-常用组件与布局实战
harmonyos
不羁的木木21 小时前
ArkUI实战演练05-动画手势与综合实战
harmonyos
nashane21 小时前
HarmonyOS 6学习:解决非媒体文件下载后用户不可见的问题
学习·华为·harmonyos
云杰zd21 小时前
鸿蒙中实现果壳风格液态TabBar
华为·harmonyos
互联网散修21 小时前
鸿蒙实战:音频波纹动画 —— 录制与播放双模式完整实现
华为·harmonyos·音频录制·音频波纹
坚果的博客1 天前
Flutter 三方库(Flutter-New-Badge)适配开源鸿蒙教程
flutter·开源·harmonyos