• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.app.ability.EnvironmentCallback (EnvironmentCallback)
2
3EnvironmentCallback模块提供应用上下文ApplicationContext对系统环境变化监听回调的能力,包括onConfigurationUpdated方法。
4
5> **说明:**
6>
7> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 本模块接口仅可在Stage模型下使用。
9
10
11## 导入模块
12
13```ts
14import EnvironmentCallback from '@ohos.app.ability.EnvironmentCallback';
15```
16
17
18## EnvironmentCallback.onConfigurationUpdated
19
20onConfigurationUpdated(config: Configuration): void;
21
22注册系统环境变化的监听后,在系统环境变化时触发回调。
23
24**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
25
26**参数:**
27
28  | 参数名 | 类型 | 必填 | 说明 |
29  | -------- | -------- | -------- | -------- |
30  | config | [Configuration](js-apis-app-ability-configuration.md) | 是 | 变化后的Configuration对象。 |
31
32## EnvironmentCallback.onMemoryLevel
33
34onMemoryLevel(level: AbilityConstant.MemoryLevel): void;
35
36注册系统环境变化的监听后,在系统内存变化时触发回调。
37
38**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
39
40**参数:**
41
42  | 参数名 | 类型 | 必填 | 说明 |
43  | -------- | -------- | -------- | -------- |
44  | level | [AbilityConstant.MemoryLevel](js-apis-app-ability-abilityConstant.md#abilityconstantmemorylevel) | 是 | 回调返回内存微调级别,显示当前内存使用状态。|
45
46**示例:**
47
48```ts
49import UIAbility from '@ohos.app.ability.UIAbility';
50import EnvironmentCallback from '@ohos.app.ability.EnvironmentCallback';
51
52let callbackId: number;
53
54export default class MyAbility extends UIAbility {
55    onCreate() {
56        console.log('MyAbility onCreate');
57        let environmentCallback: EnvironmentCallback  =  {
58            onConfigurationUpdated(config){
59                console.log(`onConfigurationUpdated config: ${JSON.stringify(config)}`);
60            },
61
62            onMemoryLevel(level){
63                console.log('onMemoryLevel level: ${JSON.stringify(level)}');
64            }
65        };
66        // 1.获取applicationContext
67        let applicationContext = this.context.getApplicationContext();
68        // 2.通过applicationContext注册监听应用内生命周期
69        callbackId = applicationContext.on('environmentEvent', environmentCallback);
70        console.log(`registerEnvironmentCallback number: ${JSON.stringify(callbackId)}`);
71    }
72    onDestroy() {
73        let applicationContext = this.context.getApplicationContext();
74        applicationContext.off('environment', callbackId, (error, data) => {
75            if (error && error.code !== 0) {
76                console.error(`unregisterEnvironmentCallback fail, error: ${JSON.stringify(error)}`);
77            } else {
78                console.log(`unregisterEnvironmentCallback success, data: ${JSON.stringify(data)}`);
79            }
80        });
81    }
82}
83```