1# @ohos.app.ability.Configuration (Configuration) 2 3定义环境变化信息。Configuration是接口定义,仅做字段声明。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import Configuration from '@ohos.app.ability.Configuration'; 13``` 14 15## 属性 16 17**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase 18 19| 名称 | 类型 | 可读 | 可写 | 说明 | 20| -------- | -------- | -------- | -------- | -------- | 21| language | string | 是 | 是 | 表示应用程序的当前语言,例如“zh"。 | 22| colorMode | [ColorMode](js-apis-app-ability-configurationConstant.md#configurationconstantcolormode) | 是 | 是 | 表示深浅色模式,默认为浅色。取值范围:<br />- COLOR_MODE_NOT_SET:未设置<br />- COLOR_MODE_LIGHT:浅色模式<br />- COLOR_MODE_DARK:深色模式 | 23| direction | [Direction](js-apis-app-ability-configurationConstant.md#configurationconstantdirection) | 是 | 否 | 表示屏幕方向,取值范围:<br />- DIRECTION_NOT_SET:未设置<br />- DIRECTION_HORIZONTAL:水平方向<br />- DIRECTION_VERTICAL:垂直方向 | 24| screenDensity | [ScreenDensity](js-apis-app-ability-configurationConstant.md#configurationconstantscreendensity) | 是 | 否 | 表示屏幕像素密度,取值范围:<br />- SCREEN_DENSITY_NOT_SET:未设置<br />- SCREEN_DENSITY_SDPI:120<br />- SCREEN_DENSITY_MDPI:160<br />- SCREEN_DENSITY_LDPI:240<br />- SCREEN_DENSITY_XLDPI:320<br />- SCREEN_DENSITY_XXLDPI:480<br />- SCREEN_DENSITY_XXXLDPI:640 | 25| displayId | number | 是 | 否 | 表示应用所在的物理屏幕ID。 | 26| hasPointerDevice | boolean | 是 | 否 | 指示指针类型设备是否已连接,如键鼠、触控板等。 | 27 28具体字段描述参考ohos.app.ability.Configuration.d.ts文件 29 30**示例:** 31 32 ```ts 33import UIAbility from '@ohos.app.ability.UIAbility'; 34import AbilityConstant from '@ohos.app.ability.AbilityConstant'; 35import EnvironmentCallback from '@ohos.app.ability.EnvironmentCallback'; 36import Want from '@ohos.app.ability.Want'; 37 38export default class EntryAbility extends UIAbility { 39 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { 40 let envCallback: EnvironmentCallback = { 41 onConfigurationUpdated(config) { 42 console.info(`envCallback onConfigurationUpdated success: ${JSON.stringify(config)}`); 43 let language = config.language; 44 let colorMode = config.colorMode; 45 let direction = config.direction; 46 let screenDensity = config.screenDensity; 47 let displayId = config.displayId; 48 let hasPointerDevice = config.hasPointerDevice; 49 } 50 onMemoryLevel(level){ 51 console.log('onMemoryLevel level: ${level}'); 52 } 53 }; 54 try { 55 let applicationContext = this.context.getApplicationContext(); 56 let callbackId = applicationContext.on('environment', envCallback); 57 console.log('callbackId: ${callbackId}'); 58 } catch (paramError) { 59 console.error(`error: ${paramError.code}, ${paramError.message}`); 60 } 61 } 62} 63 ``` 64 65