HarmonyOS API:Stage模型能力的接口

joytrian
发布于 2023-3-31 17:42
浏览
0收藏

版本: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

​UIAbility​

当前Ability对象

AbilityLifecycleCallback.onWindowStageCreate

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

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

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

参数:

参数名

类型

必填

说明

ability

​UIAbility​

当前Ability对象

windowStage

​window.WindowStage​

当前WindowStage对象

AbilityLifecycleCallback.onWindowStageActive

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

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

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

参数:

参数名

类型

必填

说明

ability

​UIAbility​

当前Ability对象

windowStage

​window.WindowStage​

当前WindowStage对象

AbilityLifecycleCallback.onWindowStageInactive

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

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

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

参数:

参数名

类型

必填

说明

ability

​UIAbility​

当前Ability对象

windowStage

​window.WindowStage​

当前WindowStage对象

AbilityLifecycleCallback.onWindowStageDestroy

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

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

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

参数:

参数名

类型

必填

说明

ability

​UIAbility​

当前Ability对象

windowStage

​window.WindowStage​

当前WindowStage对象

AbilityLifecycleCallback.onAbilityDestroy

onAbilityDestroy(ability: UIAbility): void;

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

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

参数:

参数名

类型

必填

说明

ability

​UIAbility​

当前Ability对象

AbilityLifecycleCallback.onAbilityForeground

onAbilityForeground(ability: UIAbility): void;

注册监听应用上下文的生命周期后,在ability的状态从后台转到前台时触发回调。

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

参数:

参数名

类型

必填

说明

ability

​UIAbility​

当前Ability对象

AbilityLifecycleCallback.onAbilityBackground

onAbilityBackground(ability: UIAbility): void;

注册监听应用上下文的生命周期后,在ability的状态从前台转到后台时触发回调。

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

参数:

参数名

类型

必填

说明

ability

​UIAbility​

当前Ability对象

AbilityLifecycleCallback.onAbilityContinue

onAbilityContinue(ability: UIAbility): void;

注册监听应用上下文的生命周期后,在ability迁移时触发回调。

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

参数:

参数名

类型

必填

说明

ability

​UIAbility​

当前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

​Configuration​

发生全局配置变更时触发回调,当前全局配置包括系统语言、深浅色模式。

示例:

class MyAbilityStage extends AbilityStage {
    onConfigurationUpdate(config) {
        console.log('onConfigurationUpdate, language:' + config.language);
    }
}

AbilityStage.onMemoryLevel

onMemoryLevel(level: AbilityConstant.MemoryLevel): void;

当系统已决定调整内存时调用。例如,当该功能在后台运行时,没有足够的内存来运行尽可能多的后台进程时可以使用。

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

参数:

参数名

类型

必填

说明

level

​AbilityConstant.MemoryLevel​

回调返回内存微调级别,显示当前内存使用状态。

示例:

class MyAbilityStage extends AbilityStage {
  onMemoryLevel(level) {
      console.log('onMemoryLevel, level:' + JSON.stringify(level));
  } 
}

AbilityStage.context

context: AbilityStageContext;

指示有关上下文的配置信息。

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

属性名

类型

说明

context

​AbilityStageContext​

在启动能力阶段进行初始化时回调。


文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-app-ability-abilitystage-0000001478181533-V3?catalogVersion=V3#ZH-CN_TOPIC_0000001478181533__导入模块​

已于2023-3-31 17:42:01修改
收藏
回复
举报
回复