js-apis-application-environmentCallback.md 2.2 KB
Newer Older
D
dy_study 已提交
1 2 3 4 5 6
# EnvironmentCallback

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

> **说明:**
> 
M
m00512953 已提交
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 32 33 34

**示例:**
    

M
m00512953 已提交
35
  ```ts
D
dy_study 已提交
36
import Ability from "@ohos.application.Ability";
D
dy_study 已提交
37 38 39

var callbackId;

D
dy_study 已提交
40
export default class MyAbility extends Ability {
D
dy_study 已提交
41
    onCreate() {
D
dy_study 已提交
42
        console.log("MyAbility onCreate")
D
dy_study 已提交
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
        globalThis.applicationContext = this.context.getApplicationContext();
        let EnvironmentCallback  =  {
            onConfigurationUpdated(config){
                console.log("onConfigurationUpdated config:" + JSON.stringify(config));
            },
        }
        // 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));
        });
    }
}
  ```