1# @ohos.application.Configuration (Configuration) 2 3<!--Kit: Ability Kit--> 4<!--Subsystem: Ability--> 5<!--Owner: @wkljy--> 6<!--Designer: @li-weifeng2--> 7<!--Tester: @lixueqing513--> 8<!--Adviser: @huipeizi--> 9 10定义环境变化信息。Configuration是接口定义,仅做字段声明。 11 12> **说明:** 13> 14> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 15> 本模块从API version 9废弃,替换模块为[@ohos.app.ability.Configuration (Configuration)](js-apis-app-ability-configuration.md)。 16 17## 导入模块 18 19```ts 20import Configuration from '@ohos.application.Configuration'; 21``` 22 23## Configuration 24 25**系统能力**:SystemCapability.Ability.AbilityBase 26 27| 名称 | 类型 | 只读 | 可选 | 说明 | 28| -------- | -------- | -------- | -------- | -------- | 29| language<sup>8+</sup> | string | 否 | 是 | 表示应用程序的当前语言。例如:zh。 | 30| colorMode<sup>8+</sup> | [ConfigurationConstant.ColorMode](js-apis-application-configurationConstant.md#colormode) | 否 | 是 | 表示深浅色模式,取值范围:浅色模式(COLOR_MODE_LIGHT),深色模式(COLOR_MODE_DARK)。默认为浅色。 | 31 32具体字段描述参考ohos.application.Configuration.d.ts文件 33 34**示例:** 35 ```ts 36import UIAbility from '@ohos.app.ability.UIAbility'; 37import AbilityConstant from '@ohos.app.ability.AbilityConstant'; 38import EnvironmentCallback from '@ohos.app.ability.EnvironmentCallback'; 39import Want from '@ohos.app.ability.Want'; 40import Window from '@ohos.window'; 41import { BusinessError } from '@ohos.base'; 42 43export default class EntryAbility extends UIAbility { 44 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { 45 } 46 47 onDestroy() { 48 } 49 50 onWindowStageCreate(windowStage: Window.WindowStage) { 51 let envCallback: EnvironmentCallback = { 52 onConfigurationUpdated(config) { 53 console.info(`envCallback onConfigurationUpdated success: ${JSON.stringify(config)}`); 54 let language = config.language; 55 let colorMode = config.colorMode; 56 }, 57 onMemoryLevel(level){ 58 console.log(`onMemoryLevel level: ${JSON.stringify(level)}`); 59 } 60 }; 61 62 let applicationContext = this.context.getApplicationContext(); 63 try { 64 applicationContext.on('environment',envCallback); 65 } catch (paramError) { 66 console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`); 67 } 68 69 windowStage.loadContent('pages/index', (err, data) => { 70 if (err.code) { 71 console.error(`failed to load the content, error: ${JSON.stringify(err)}`); 72 return; 73 } 74 console.info(`Succeeded in loading the content, data: ${JSON.stringify(data)}`); 75 }); 76 } 77} 78 ``` 79 80