HarmonyOS API:Stage模型能力的接口
版本:v3.1 Beta
@ohos.app.ability.abilityLifecycleCallback (AbilityLifecycleCallback)
更新时间: 2023-03-03 17:21
AbilityLifecycleCallback模块提供应用上下文ApplicationContext的生命周期监听方法的回调类的能力,包括onAbilityCreate、onWindowStageCreate、onWindowStageDestroy等方法。
说明
本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在Stage模型下使用。
导入模块
import AbilityLifecycleCallback from "@ohos.app.ability.AbilityLifecycleCallback";
AbilityLifecycleCallback.onAbilityCreate
onAbilityCreate(ability: UIAbility): void;
注册监听应用上下文的生命周期后,在ability创建时触发回调。
系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
参数名 | 类型 | 必填 | 说明 |
ability | 是 | 当前Ability对象 |
AbilityLifecycleCallback.onWindowStageCreate
onWindowStageCreate(ability: UIAbility, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage创建时触发回调。
系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
参数名 | 类型 | 必填 | 说明 |
ability | 是 | 当前Ability对象 | |
windowStage | 是 | 当前WindowStage对象 |
AbilityLifecycleCallback.onWindowStageActive
onWindowStageActive(ability: UIAbility, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage获焦时触发回调。
系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
参数名 | 类型 | 必填 | 说明 |
ability | 是 | 当前Ability对象 | |
windowStage | 是 | 当前WindowStage对象 |
AbilityLifecycleCallback.onWindowStageInactive
onWindowStageInactive(ability: UIAbility, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage失焦时触发回调。
系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
参数名 | 类型 | 必填 | 说明 |
ability | 是 | 当前Ability对象 | |
windowStage | 是 | 当前WindowStage对象 |
AbilityLifecycleCallback.onWindowStageDestroy
onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。
系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
参数名 | 类型 | 必填 | 说明 |
ability | 是 | 当前Ability对象 | |
windowStage | 是 | 当前WindowStage对象 |
AbilityLifecycleCallback.onAbilityDestroy
onAbilityDestroy(ability: UIAbility): void;
注册监听应用上下文的生命周期后,在ability销毁时触发回调。
系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
参数名 | 类型 | 必填 | 说明 |
ability | 是 | 当前Ability对象 |
AbilityLifecycleCallback.onAbilityForeground
onAbilityForeground(ability: UIAbility): void;
注册监听应用上下文的生命周期后,在ability的状态从后台转到前台时触发回调。
系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
参数名 | 类型 | 必填 | 说明 |
ability | 是 | 当前Ability对象 |
AbilityLifecycleCallback.onAbilityBackground
onAbilityBackground(ability: UIAbility): void;
注册监听应用上下文的生命周期后,在ability的状态从前台转到后台时触发回调。
系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
参数名 | 类型 | 必填 | 说明 |
ability | 是 | 当前Ability对象 |
AbilityLifecycleCallback.onAbilityContinue
onAbilityContinue(ability: UIAbility): void;
注册监听应用上下文的生命周期后,在ability迁移时触发回调。
系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
参数:
参数名 | 类型 | 必填 | 说明 |
ability | 是 | 当前Ability对象 |
示例:
import UIAbility from "@ohos.app.ability.UIAbility";
let lifecycleid;
export default class MyAbility extends UIAbility {
onCreate() {
console.log("MyAbility onCreate")
let AbilityLifecycleCallback = {
onAbilityCreate(ability){
console.log("AbilityLifecycleCallback onAbilityCreate ability:" + JSON.stringify(ability));
},
onWindowStageCreate(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageCreate ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageCreate windowStage:" + JSON.stringify(windowStage));
},
onWindowStageActive(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageActive ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageActive windowStage:" + JSON.stringify(windowStage));
},
onWindowStageInactive(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageInactive ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageInactive windowStage:" + JSON.stringify(windowStage));
},
onWindowStageDestroy(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageDestroy ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageDestroy windowStage:" + JSON.stringify(windowStage));
},
onAbilityDestroy(ability){
console.log("AbilityLifecycleCallback onAbilityDestroy ability:" + JSON.stringify(ability));
},
onAbilityForeground(ability){
console.log("AbilityLifecycleCallback onAbilityForeground ability:" + JSON.stringify(ability));
},
onAbilityBackground(ability){
console.log("AbilityLifecycleCallback onAbilityBackground ability:" + JSON.stringify(ability));
},
onAbilityContinue(ability){
console.log("AbilityLifecycleCallback onAbilityContinue ability:" + JSON.stringify(ability));
}
}
// 1.通过context属性获取applicationContext
let applicationContext = this.context.getApplicationContext();
// 2.通过applicationContext注册监听应用内生命周期
lifecycleid = applicationContext.on("abilityLifecycle", AbilityLifecycleCallback);
console.log("registerAbilityLifecycleCallback number: " + JSON.stringify(lifecycleid));
}
onDestroy() {
let applicationContext = this.context.getApplicationContext();
applicationContext.off("abilityLifecycle", lifecycleid, (error, data) => {
console.log("unregisterAbilityLifecycleCallback success, err: " + JSON.stringify(error));
});
}
}
@ohos.app.ability.AbilityStage (AbilityStage)
更新时间: 2023-02-17 09:19
AbilityStage是HAP包的运行时类。
AbilityStage类提供在HAP加载的时候,通知开发者,可以在此进行该HAP的初始化(如资源预加载,线程创建等)能力。
说明
本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在Stage模型下使用。
导入模块
import AbilityStage from '@ohos.app.ability.AbilityStage';
AbilityStage.onCreate
onCreate(): void
当应用创建时调用。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
示例:
class MyAbilityStage extends AbilityStage {
onCreate() {
console.log("MyAbilityStage.onCreate is called")
}
}
AbilityStage.onAcceptWant
onAcceptWant(want: Want): string;
启动一个specified ability时触发的事件。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
want | Want | 是 | Want类型参数,传入需要启动的ability的信息,如ability名称,包名等。 |
返回值:
类型 | 说明 |
string | 用户返回一个ability标识,如果之前启动过标识的ability,不创建新的实例并拉回栈顶,否则创建新的实例并启动。 |
示例:
class MyAbilityStage extends AbilityStage {
onAcceptWant(want) {
console.log("MyAbilityStage.onAcceptWant called");
return "com.example.test";
}
}
AbilityStage.onConfigurationUpdate
onConfigurationUpdate(newConfig: Configuration): void;
环境变化通知接口,发生全局配置变更时回调。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
newConfig | 是 | 发生全局配置变更时触发回调,当前全局配置包括系统语言、深浅色模式。 |
示例:
class MyAbilityStage extends AbilityStage {
onConfigurationUpdate(config) {
console.log('onConfigurationUpdate, language:' + config.language);
}
}
AbilityStage.onMemoryLevel
onMemoryLevel(level: AbilityConstant.MemoryLevel): void;
当系统已决定调整内存时调用。例如,当该功能在后台运行时,没有足够的内存来运行尽可能多的后台进程时可以使用。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
level | 是 | 回调返回内存微调级别,显示当前内存使用状态。 |
示例:
class MyAbilityStage extends AbilityStage {
onMemoryLevel(level) {
console.log('onMemoryLevel, level:' + JSON.stringify(level));
}
}
AbilityStage.context
context: AbilityStageContext;
指示有关上下文的配置信息。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
属性名 | 类型 | 说明 |
context | 在启动能力阶段进行初始化时回调。 |