鸿蒙原生应用/元服务开发-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
参数:
鸿蒙原生应用/元服务开发-Stage模型能力接口(三)-鸿蒙开发者社区
示例:

let abilityLifecycleCallback = {
    
    
onAbilityCreate(ability){
    
    
console.log(AbilityLifecycleCallback onAbilityCreate.);
}
};

2.AbilityLifecycleCallback.onWindowStageCreate

onWindowStageCreate(ability: UIAbility, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage创建时触发回调。

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
鸿蒙原生应用/元服务开发-Stage模型能力接口(三)-鸿蒙开发者社区
示例:

let abilityLifecycleCallback = {
    
    
onAbilityCreate(ability){
    
    
console.log(AbilityLifecycleCallback onAbilityCreate.);
}
};

3.AbilityLifecycleCallback.onWindowStageCreate

onWindowStageCreate(ability: UIAbility, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage创建时触发回调。

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
鸿蒙原生应用/元服务开发-Stage模型能力接口(三)-鸿蒙开发者社区
示例:

let abilityLifecycleCallback = {
    
    
onWindowStageActive(ability, windowStage){
    
    
console.log(AbilityLifecycleCallback onWindowStageActive.);
}
};

4.AbilityLifecycleCallback.onWindowStageInactive

onWindowStageInactive(ability: UIAbility, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage失焦时触发回调。

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
鸿蒙原生应用/元服务开发-Stage模型能力接口(三)-鸿蒙开发者社区
示例:

let abilityLifecycleCallback = {
    
    
onWindowStageInactive(ability, windowStage){
    
    
console.log(AbilityLifecycleCallback onWindowStageInactive.);
}
};

5.AbilityLifecycleCallback.onWindowStageDestroy

onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
鸿蒙原生应用/元服务开发-Stage模型能力接口(三)-鸿蒙开发者社区
示例:

let abilityLifecycleCallback = {
    
    
onWindowStageInactive(ability, windowStage){
    
    
console.log(AbilityLifecycleCallback onWindowStageInactive.);
}
};

6.AbilityLifecycleCallback.onWindowStageDestroy

onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
鸿蒙原生应用/元服务开发-Stage模型能力接口(三)-鸿蒙开发者社区
示例:
l

et abilityLifecycleCallback = {
    
    
onWindowStageInactive(ability, windowStage){
    
    
console.log(AbilityLifecycleCallback onWindowStageInactive.);
}
};

7.AbilityLifecycleCallback.onWindowStageDestroy

onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
鸿蒙原生应用/元服务开发-Stage模型能力接口(三)-鸿蒙开发者社区
示例:

let abilityLifecycleCallback = {
    
    
onWindowStageInactive(ability, windowStage){
    
    
console.log(AbilityLifecycleCallback onWindowStageInactive.);
}
};

8.AbilityLifecycleCallback.onWindowStageDestroy

onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void;

注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
鸿蒙原生应用/元服务开发-Stage模型能力接口(三)-鸿蒙开发者社区
示例:

let abilityLifecycleCallback = {
    
    
onAbilityBackground(ability){
    
    
console.log(AbilityLifecycleCallback onAbilityBackground.);
}
};

9.AbilityLifecycleCallback.onAbilityContinue
onAbilityContinue(ability: UIAbility): void;
注册监听应用上下文的生命周期后,在ability迁移时触发回调。

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
鸿蒙原生应用/元服务开发-Stage模型能力接口(三)-鸿蒙开发者社区
示例:

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)开发学习指南》,希望能对那些想要学习鸿蒙,但是有没有方向的人提供一点帮助。(由于文档内容过多,因此为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的看文末有免费的获取方式!)

《鸿蒙(HarmonyOS)开发学习指南》

第一章 快速入门

1、开发准备

2、构建第一个ArkTS应用(Stage模型)

3、构建第一个ArkTS应用(FA模型)

4、构建第一个JS应用(FA模型)

5、…

图片

第二章 开发基础知识

1、应用程序包基础知识

2、应用配置文件(Stage模型)

3、应用配置文件概述(FA模型)

4、…

图片

第三章 资源分类与访问

1、 资源分类与访问

2、 创建资源目录和资源文件

3、 资源访问

4、…

图片

第四章 学习ArkTs语言

1、初识ArkTS语言

2、基本语法

3、状态管理

4、其他状态管理

5、渲染控制

6、…

图片

第五章 UI开发

1.方舟开发框架(ArkUI)概述

2.基于ArkTS声明式开发范式

3.兼容JS的类Web开发范式

4…

图片

第六章 Web开发

1.Web组件概述

2.使用Web组件加载页面

3.设置基本属性和事件

4.在应用中使用前端页面JavaScript

5.ArkTS语言基础类库概述

6.并发

7…

图片

11.网络与连接

12.电话服务

13.数据管理

14.文件管理

15.后台任务管理

16.设备管理

17…

图片

第七章 应用模型

1.应用模型概述

2.Stage模型开发指导

3.FA模型开发指导

4…

图片

扫描下方二维码免费领取,《鸿蒙(HarmonyOS)开发学习指南》

猜你喜欢

转载自blog.csdn.net/Android23333/article/details/135355008