@ohos.app.ability.EnvironmentCallback (EnvironmentCallback)


@ohos.app.ability.EnvironmentCallback (EnvironmentCallback)

EnvironmentCallback模块提供应用上下文ApplicationContext对系统环境变化监听回调的能力,包括onConfigurationUpdated方法。

说明:

本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在Stage模型下使用。

导入模块

import EnvironmentCallback from '@ohos.app.ability.EnvironmentCallback';
1

EnvironmentCallback.onConfigurationUpdated

onConfigurationUpdated(config: Configuration): void;

注册系统环境变化的监听后,在系统环境变化时触发回调。

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

参数:

参数名 类型 必填 说明
config Configuration 变化后的Configuration对象。

EnvironmentCallback.onMemoryLevel

onMemoryLevel(level: AbilityConstant.MemoryLevel): void;

注册系统环境变化的监听后,在系统内存变化时触发回调。

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

参数:

参数名 类型 必填 说明
level AbilityConstant.MemoryLevel 回调返回内存微调级别,显示当前内存使用状态。

示例:

import UIAbility from '@ohos.app.ability.Ability';

let callbackId;

export default class MyAbility extends UIAbility {
  onCreate() {
      console.log('MyAbility onCreate');
      globalThis.applicationContext = this.context.getApplicationContext();
      let environmentCallback  =  {
          onConfigurationUpdated(config){
              console.log('onConfigurationUpdated config: ${JSON.stringify(config)}');
          }

          onMemoryLevel(level){
              console.log('onMemoryLevel level: ${JSON.stringify(level)}');
          }
      };
      // 1.获取applicationContext
      let applicationContext = globalThis.applicationContext;
      // 2.通过applicationContext注册监听应用内生命周期
      callbackId = applicationContext.registerEnvironmentCallback(environmentCallback);
      console.log('registerEnvironmentCallback number: ${JSON.stringify(callbackId)}');
  }
  onDestroy() {
      let applicationContext = globalThis.applicationContext;
      applicationContext.unregisterEnvironmentCallback(callbackId, (error, data) => {
          if (error && error.code !== 0) {
              console.error('unregisterEnvironmentCallback fail, error: ${JSON.stringify(error)}');
          } else {
              console.log('unregisterEnvironmentCallback success, data: ${JSON.stringify(data)}');
          }
      });
  }
}
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