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

相关推荐
一只大侠的侠3 小时前
React Native开源鸿蒙跨平台训练营 Day16自定义 useForm 高性能验证
flutter·开源·harmonyos
早點睡3904 小时前
高级进阶 React Native 鸿蒙跨平台开发:@react-native-community-slider 滑块组件
react native·react.js·harmonyos
一只大侠的侠4 小时前
Flutter开源鸿蒙跨平台训练营 Day11从零开发商品详情页面
flutter·开源·harmonyos
一只大侠的侠4 小时前
React Native开源鸿蒙跨平台训练营 Day18自定义useForm表单管理实战实现
flutter·开源·harmonyos
一只大侠的侠4 小时前
React Native开源鸿蒙跨平台训练营 Day20自定义 useValidator 实现高性能表单验证
flutter·开源·harmonyos
听麟5 小时前
HarmonyOS 6.0+ 跨端智慧政务服务平台开发实战:多端协同办理与电子证照管理落地
笔记·华为·wpf·音视频·harmonyos·政务
前端世界5 小时前
从单设备到多设备协同:鸿蒙分布式计算框架原理与实战解析
华为·harmonyos
一只大侠的侠6 小时前
Flutter开源鸿蒙跨平台训练营 Day12从零开发通用型登录页面
flutter·开源·harmonyos
前端不太难7 小时前
HarmonyOS App 工程深水区:从能跑到可控
华为·状态模式·harmonyos
万少7 小时前
端云一体 一天开发的元服务-奇趣故事匣经验分享
前端·ai编程·harmonyos