js-apis-application-configuration.md 3.4 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.application.Configuration (Configuration)
M
m00512953 已提交
2

M
m00512953 已提交
3
定义环境变化信息。
M
m00512953 已提交
4

5 6
> **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zhongjianfei 已提交
7
> 本模块从API version 9废弃,替换模块为[@ohos.app.ability.Configuration (Configuration)](js-apis-app-ability-configuration.md)
D
donglin 已提交
8

9 10 11 12 13 14
## 导入模块

```ts
import Configuration from '@ohos.application.Configuration'
```

M
m00512953 已提交
15 16
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase

D
donglin 已提交
17
  | 名称 | 类型 | 可读 | 可写 | 说明 |
M
m00512953 已提交
18
| -------- | -------- | -------- | -------- | -------- |
W
wangkailong 已提交
19
| language<sup>8+</sup> | string | 是 | 是 | 表示应用程序的当前语言。例如:zh。 |
M
m00512953 已提交
20 21 22
| colorMode<sup>8+</sup> | [ColorMode](js-apis-application-configurationConstant.md#configurationconstantcolormode) | 是 | 是 | 表示深浅色模式,取值范围:浅色模式(COLOR_MODE_LIGHT),深色模式(COLOR_MODE_DARK)。默认为浅色。 |
| direction<sup>9+</sup> | [Direction](js-apis-application-configurationConstant.md#configurationconstantdirection9) | 是 | 否 | 表示屏幕方向,取值范围:水平方向(DIRECTION_HORIZONTAL),垂直方向(DIRECTION_VERTICAL)。 |
| screenDensity<sup>9+</sup>  | [ScreenDensity](js-apis-application-configurationConstant.md#configurationconstantscreendensity9) | 是 | 否 | 表示屏幕分辨率,取值范围:SCREEN_DENSITY_SDPI(120)、SCREEN_DENSITY_MDPI(160)、SCREEN_DENSITY_LDPI(240)、SCREEN_DENSITY_XLDPI(320)、SCREEN_DENSITY_XXLDPI(480)、SCREEN_DENSITY_XXXLDPI(640)。 |
M
m00512953 已提交
23 24 25
| displayId<sup>9+</sup>  | number | 是 | 否 | 表示应用所在的物理屏幕Id。 |
| hasPointerDevice<sup>9+</sup>  | boolean | 是 | 否 | 指示指针类型设备是否已连接,如键鼠、触控板等。 |

M
m00512953 已提交
26 27
具体字段描述参考ohos.application.Configuration.d.ts文件

M
m00512953 已提交
28 29
**示例:**
    
M
m00512953 已提交
30
  ```ts
U
unknown 已提交
31
import hilog from '@ohos.hilog';
32 33
import UIAbility from '@ohos.app.ability.UIAbility';
import Window from '@ohos.window';
U
unknown 已提交
34

35
export default class EntryAbility extends UIAbility {
U
unknown 已提交
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
    onCreate(want, launchParam) {
    }

    onDestroy() {
    }

    onWindowStageCreate(windowStage: Window.WindowStage) {
        let envCallback = {
            onConfigurationUpdated(config) {
                console.info(`envCallback onConfigurationUpdated success: ${JSON.stringify(config)}`)
                let language = config.language;
                let colorMode = config.colorMode;
                let direction = config.direction;
                let screenDensity = config.screenDensity;
                let displayId = config.displayId;
                let hasPointerDevice = config.hasPointerDevice;
            }
        };

        let applicationContext = this.context.getApplicationContext();
        applicationContext.registerEnvironmentCallback(envCallback);

        windowStage.loadContent('pages/index', (err, data) => {
            if (err.code) {
                hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.ERROR);
                hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
                return;
            }
            hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO);
            hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');
        });
M
m00512953 已提交
67
    }
U
unknown 已提交
68
}
M
m00512953 已提交
69 70
  ```