一、说明
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模型能力接口(三)_flutter


示例:

let abilityLifecycleCallback = {
onAbilityCreate(ability){
console.log(‘AbilityLifecycleCallback onAbilityCreate.’);
}
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

2.AbilityLifecycleCallback.onWindowStageCreate

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

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore

参数:

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


示例:

let abilityLifecycleCallback = {
onAbilityCreate(ability){
console.log(‘AbilityLifecycleCallback onAbilityCreate.’);
}
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

3.AbilityLifecycleCallback.onWindowStageCreate

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

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore

参数:

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


示例:

let abilityLifecycleCallback = {
onWindowStageActive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageActive.’);
}
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

4.AbilityLifecycleCallback.onWindowStageInactive

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

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore

参数:

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


示例:

let abilityLifecycleCallback = {
onWindowStageInactive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageInactive.’);
}
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

5.AbilityLifecycleCallback.onWindowStageDestroy

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

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore

参数:

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


示例:

let abilityLifecycleCallback = {
onWindowStageInactive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageInactive.’);
}
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

6.AbilityLifecycleCallback.onWindowStageDestroy

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

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore

参数:

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


示例:

l

et abilityLifecycleCallback = {
onWindowStageInactive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageInactive.’);
}
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

7.AbilityLifecycleCallback.onWindowStageDestroy

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

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore

参数:

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


示例:

let abilityLifecycleCallback = {
onWindowStageInactive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageInactive.’);
}
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

8.AbilityLifecycleCallback.onWindowStageDestroy

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

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

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore

参数:

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


示例:

let abilityLifecycleCallback = {
onAbilityBackground(ability){
console.log(‘AbilityLifecycleCallback onAbilityBackground.’);
}
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

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

系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore

参数:

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


示例:

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.’);
}
});
}
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.

结尾

这里整理了一份《鸿蒙(HarmonyOS)开发学习指南》,希望能对那些想要学习鸿蒙,但是有没有方向的人提供一点帮助。

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

第一章 快速入门

1、开发准备

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

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

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

5、…

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

第二章 开发基础知识

1、应用程序包基础知识

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

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

4、…

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

第三章 资源分类与访问

1、 资源分类与访问

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

3、 资源访问

4、…

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

第四章 学习ArkTs语言

1、初识ArkTS语言

2、基本语法

3、状态管理

4、其他状态管理

5、渲染控制

6、…

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

第五章 UI开发

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

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

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

4…

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

第六章 Web开发

1.Web组件概述

2.使用Web组件加载页面

3.设置基本属性和事件

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

5.ArkTS语言基础类库概述

6.并发

7…

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

11.网络与连接

12.电话服务

13.数据管理

14.文件管理

15.后台任务管理

16.设备管理

17…

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

第七章 应用模型

1.应用模型概述

2.Stage模型开发指导

3.FA模型开发指导

4…

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