js-apis-app-ability-environmentCallback.md 2.7 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.app.ability.EnvironmentCallback (EnvironmentCallback)
D
dy_study 已提交
2 3 4 5 6

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

> **说明:**
> 
M
m00512953 已提交
7
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。  
D
dy_study 已提交
8 9 10 11 12
> 本模块接口仅可在Stage模型下使用。


## 导入模块

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


## 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-app-ability-configuration.md) | 是 | 变化后的Configuration对象。 |
D
dy_study 已提交
31

M
mingxihua 已提交
32 33 34 35 36 37
## EnvironmentCallback.onMemoryLevel

onMemoryLevel(level: AbilityConstant.MemoryLevel): void;

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

M
mingxihua 已提交
38
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
M
mingxihua 已提交
39 40 41 42 43

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
M
mingxihua 已提交
44
  | level | [AbilityConstant.MemoryLevel](js-apis-app-ability-abilityConstant.md#abilityconstantmemorylevel) | 是 | 回调返回内存微调级别,显示当前内存使用状态。| 
M
mingxihua 已提交
45

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

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

M
mingxihua 已提交
52
let callbackId;
D
dy_study 已提交
53

D
donglin 已提交
54
export default class MyAbility extends UIAbility {
D
dy_study 已提交
55
    onCreate() {
M
mingxihua 已提交
56
        console.log('MyAbility onCreate');
D
dy_study 已提交
57 58 59
        globalThis.applicationContext = this.context.getApplicationContext();
        let EnvironmentCallback  =  {
            onConfigurationUpdated(config){
M
mingxihua 已提交
60
                console.log('onConfigurationUpdated config: ${JSON.stringify(config)}');
Y
yuwenze 已提交
61
            }
M
mingxihua 已提交
62 63 64 65

            onMemoryLevel(level){
                console.log('onMemoryLevel level: ${JSON.stringify(level)}');
            }
M
mingxihua 已提交
66
        };
D
dy_study 已提交
67 68 69 70
        // 1.获取applicationContext
        let applicationContext = globalThis.applicationContext;
        // 2.通过applicationContext注册监听应用内生命周期
        callbackId = applicationContext.registerEnvironmentCallback(EnvironmentCallback);
M
mingxihua 已提交
71
        console.log('registerEnvironmentCallback number: ${JSON.stringify(callbackId)}');
D
dy_study 已提交
72 73 74 75
    }
    onDestroy() {
        let applicationContext = globalThis.applicationContext;
        applicationContext.unregisterEnvironmentCallback(callbackId, (error, data) => {
M
mingxihua 已提交
76
            console.log('unregisterEnvironmentCallback success, err: ${JSON.stringify(error)}');
D
dy_study 已提交
77 78 79 80
        });
    }
}
  ```