# @ohos.app.ability.Configuration (Configuration)
The **Configuration** module defines environment change information. **Configuration** is an interface definition and is used only for field declaration.
> **NOTE**
>
> The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## Modules to Import
```ts
import { Configuration } from '@kit.AbilityKit';
```
## Properties
**System capability**: SystemCapability.Ability.AbilityBase
| Name| Type| Read-only| Optional| Description|
| -------- | -------- | -------- | -------- | -------- |
| language | string | No| Yes| Language of the application, for example, **zh**.
**Atomic service API**: This API can be used in atomic services since API version 11.|
| colorMode | [ConfigurationConstant.ColorMode](js-apis-app-ability-configurationConstant.md#colormode) | No| Yes| Color mode. The default value is **COLOR_MODE_LIGHT**. The options are as follows:
- **COLOR_MODE_NOT_SET**: The color mode is not set.
- **COLOR_MODE_LIGHT**: light mode.
- **COLOR_MODE_DARK**: dark mode.
**Atomic service API**: This API can be used in atomic services since API version 11.|
| direction | [ConfigurationConstant.Direction](js-apis-app-ability-configurationConstant.md#direction) | No| Yes| Screen orientation. The options are as follows:
- **DIRECTION_NOT_SET**: The screen orientation is not set.
- **DIRECTION_HORIZONTAL**: horizontal direction.
- **DIRECTION_VERTICAL**: vertical direction.
**Atomic service API**: This API can be used in atomic services since API version 11.|
| screenDensity | [ConfigurationConstant.ScreenDensity](js-apis-app-ability-configurationConstant.md#screendensity) | No| Yes| Pixel density of the screen. The options are as follows:
- **SCREEN_DENSITY_NOT_SET**: The pixel density is not set.
- **SCREEN_DENSITY_SDPI**: 120.
- **SCREEN_DENSITY_MDPI**: 160.
- **SCREEN_DENSITY_LDPI**: 240.
- **SCREEN_DENSITY_XLDPI**: 320.
- **SCREEN_DENSITY_XXLDPI**: 480.
- **SCREEN_DENSITY_XXXLDPI**: 640.
**Atomic service API**: This API can be used in atomic services since API version 11.|
| displayId | number | No| Yes| ID of the display where the application is located.
**Atomic service API**: This API can be used in atomic services since API version 11.|
| hasPointerDevice | boolean | No| Yes| Whether a pointer device, such as a keyboard, mouse, or touchpad, is connected.
**Atomic service API**: This API can be used in atomic services since API version 11.|
| fontId14+ | number | No| Yes| Unique ID of the current system font.
**Atomic service API**: This API can be used in atomic services since API version 14.|
| fontSizeScale12+ | number | No| Yes| Font size scale ratio. The value is a non-negative number. The default value is **1**.
**Atomic service API**: This API can be used in atomic services since API version 12.|
| fontWeightScale12+ | number | No| Yes| Font weight scale ratio. The value is a non-negative number. The default value is **1**.
**Atomic service API**: This API can be used in atomic services since API version 12.|
| mcc12+ | string | No | Yes| Mobile network code (MNC).
**Atomic service API**: This API can be used in atomic services since API version 12.|
| mnc12+ | string | No | Yes| Mobile country code (MCC).
**Atomic service API**: This API can be used in atomic services since API version 12.|
**Example**
```ts
import { UIAbility, AbilityConstant, EnvironmentCallback, Want } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
let envCallback: EnvironmentCallback = {
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 fontId = config.fontId;
let fontSizeScale = config.fontSizeScale;
let fontWeightScale = config.fontWeightScale;
let mcc = config.mcc;
let mnc = config.mnc;
},
onMemoryLevel(level) {
console.log(`onMemoryLevel level: ${level}`);
}
};
try {
let applicationContext = this.context.getApplicationContext();
let callbackId = applicationContext.on('environment', envCallback);
console.log(`callbackId: ${callbackId}`);
} catch (paramError) {
console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
}
}
}
```