js-apis-application-environmentCallback.md 2.8 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.application.EnvironmentCallback (EnvironmentCallback)
D
dy_study 已提交
2

D
dy_study 已提交
3
EnvironmentCallback模块提供应用上下文ApplicationContext对系统环境变化监听回调的能力,包括onConfigurationUpdated、onMemoryLevel方法。
D
dy_study 已提交
4 5 6

> **说明:**
> 
D
donglin 已提交
7
> 本模块首批接口从API version 9 开始支持,从API version 9后续版本废弃,替换模块为[@ohos.app.ability.EnvironmentCallback](js-apis-app-ability-environmentCallback.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。  
D
dy_study 已提交
8 9 10 11 12
> 本模块接口仅可在Stage模型下使用。


## 导入模块

M
m00512953 已提交
13
```ts
D
dy_study 已提交
14 15 16 17 18 19 20 21
import EnvironmentCallback from "@ohos.application.EnvironmentCallback";
```


## EnvironmentCallback.onConfigurationUpdated

onConfigurationUpdated(config: Configuration): void;

D
dy_study 已提交
22
注册系统环境变化的监听后,在系统环境变化时触发回调。
D
dy_study 已提交
23 24 25 26 27 28 29

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

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
M
m00512953 已提交
30
  | config | [Configuration](js-apis-application-configuration.md) | 是 | 变化后的Configuration对象。 |
D
dy_study 已提交
31

D
dy_study 已提交
32 33 34 35 36 37 38 39 40 41 42 43 44 45
## EnvironmentCallback.onMemoryLevel

onMemoryLevel(level: number): void;

注册系统内存基线水平变化监听后,在系统内存基线水平变化时触发回调。

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

**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | level  | [MemoryLevel](js-apis-application-abilityConstant.md#abilityconstantmemorylevel) | 是 | 表示当前内存的基线水平。 |

D
dy_study 已提交
46 47
**示例:**

M
m00512953 已提交
48
  ```ts
49
import UIAbility from '@ohos.app.ability.UIAbility';
D
dy_study 已提交
50 51 52

var callbackId;

53
export default class EntryAbility extends UIAbility {
D
dy_study 已提交
54
    onCreate() {
D
dy_study 已提交
55
        console.log("MyAbility onCreate")
D
dy_study 已提交
56 57 58 59 60
        globalThis.applicationContext = this.context.getApplicationContext();
        let EnvironmentCallback  =  {
            onConfigurationUpdated(config){
                console.log("onConfigurationUpdated config:" + JSON.stringify(config));
            },
D
dy_study 已提交
61 62 63
            onMemoryLevel(level){
                console.log("onMemoryLevel level:" + level);
            }
D
dy_study 已提交
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
        }
        // 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) => {
            console.log("unregisterEnvironmentCallback success, err: " + JSON.stringify(error));
        });
    }
}
  ```