目录

AbilityStage组件管理器

概述

AbilityStage是一个Module级别的组件管理器,应用的HAP在首次加载时会创建一个AbilityStage实例,可以对该Module进行初始化等操作。AbilityStage与HAP一一对应,即每个HAP拥有一个AbilityStage实例。

AbilityStage拥有onCreate()、onDestroy()生命周期回调和onAcceptWant()、onConfigurationUpdate()、onMemoryLevel()、onNewProcessRequest()、onPrepareTermination()等事件回调。

开发步骤

[h2]创建AbilityStage文件

DevEco Studio默认工程中未自动生成AbilityStage,如需要使用AbilityStage的能力,可以手动新建一个AbilityStage文件,具体步骤如下。

  1. 在工程Module对应的ets目录下,右键选择“New > Directory”,新建一个目录并命名为myabilitystage。

  2. 在myabilitystage目录,右键选择“New > ArkTS File”,新建一个文件并命名为MyAbilityStage.ets。

  3. 打开MyAbilityStage.ets文件,导入AbilityStage的依赖包,自定义类继承AbilityStage并加上需要的生命周期回调,示例中增加了一个onCreate()生命周期回调。

    import { EnvironmentCallback, AbilityStage, Want } from '@kit.AbilityKit';
    import { BusinessError } from '@kit.BasicServicesKit';
    
    export default class MyAbilityStage extends AbilityStage {
    
      onCreate(): void {
        // 应用HAP首次加载时触发,可以在此执行该Module的初始化操作(例如资源预加载、线程创建等)。
        console.info('AbilityStage onCreate');
        // ...
      }
      onAcceptWant(want: Want): string {
        // 仅specified模式下触发
        return 'MyAbilityStage';
      }
      // ...
    }
  4. 在module.json5配置文件中,通过配置 srcEntry 参数来指定模块对应的代码路径,以作为HAP加载的入口。

    {
      "module": {
        "name": "entry",
        "type": "entry",
        "srcEntry": "./ets/myabilitystage/MyAbilityStage.ets",
        // ···
      }
    }

[h2]监听系统环境变量的变化

下面以监听系统环境变量的变化的开发场景为例,介绍AbilityStage组件回调函数的使用。