# 屏幕属性 > **说明:** > 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 ```js import display from '@ohos.display'; ``` ## DisplayState 用于表示显示设备的状态。 **系统能力:** 以下各项对应的系统能力均为 SystemCapability.WindowManager.WindowManager.Core。 | 名称 | 默认值 | 说明 | | -------- | -------- | -------- | | STATE_UNKNOWN | 0 | 表示显示设备状态未知。| | STATE_OFF | 1 | 表示显示设备状态为关闭。 | | STATE_ON | 2 | 表示显示设备状态为开启。| | STATE_DOZE | 3 | 表示显示设备为低电耗模式。| | STATE_DOZE_SUSPEND | 4 | 表示显示设备为睡眠模式,CPU为挂起状态。 | | STATE_VR | 5 | 表示显示设备为VR模式。| | STATE_ON_SUSPEND | 6 | 表示显示设备为开启状态,CPU为挂起状态。 | ## Display 描述display对象的属性。 **系统能力:** 以下各项对应的系统能力均为 SystemCapability.WindowManager.WindowManager.Core。 | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | | id | number | 是 | 否 | 显示设备的id号。| | name | string | 是 | 否 | 显示设备的名称。| | alive | boolean | 是 | 否 | 显示设备是否启用。| | state | [DisplayState](#displaystate) | 是 | 否 | 显示设备的状态。| | refreshRate | number | 是 | 否 | 显示设备的刷新率。| | rotation | number | 是 | 否 | 显示设备的屏幕旋转角度。| | width | number | 是 | 否 | 显示设备的宽度,单位为像素。| | height | number | 是 | 否 | 显示设备的高度,单位为像素。| | densityDPI | number | 是 | 否 | 显示设备的屏幕密度,单位为DPI。| | densityPixels | number | 是 | 否 | 显示设备的屏幕密度,单位为像素。| | scaledDensity | number | 是 | 否 | 显示设备的显示字体的缩放因子。| | xDPI | number | 是 | 否 | x方向中每英寸屏幕的确切物理像素值。 | | yDPI | number | 是 | 否 | y方向中每英寸屏幕的确切物理像素值。| ## display.getDefaultDisplay getDefaultDisplay(callback: AsyncCallback<Display>): void 获取当前默认的display对象。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<[Display](#display)> | 是 | 回调返回当前默认的display对象。 | **示例:** ```js var displayClass = null; display.getDefaultDisplay((err, data) => { if (err.code) { console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(err)); return; } console.info('Succeeded in obtaining the default display object. Data:' + JSON.stringify(data)); displayClass = data; }); ``` ## display.getDefaultDisplay getDefaultDisplay(): Promise<Display> 获取当前默认的display对象。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **返回值:** | 类型 | 说明 | | ---------------------------------- | ---------------------------------------------- | | Promise<[Display](#display)> | 以Promise形式返回结果,返回默认的display对象。 | **示例:** ```js let promise = display.getDefaultDisplay(); promise.then(() => { console.log('getDefaultDisplay success'); }).catch((err) => { console.log('getDefaultDisplay fail: ' + JSON.stringify(err)); }); ``` ## display.getAllDisplay getAllDisplay(callback: AsyncCallback<Array<Display>>): void 获取当前所有的display对象。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------------------- | ---- | ------------------------------- | | callback | AsyncCallback<Array<[Display](#display)>> | 是 | 回调返回当前所有的display对象。 | **示例:** ```js display.getAllDisplay((err, data) => { if (err.code) { console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err)); return; } console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data)) }); ``` ## display.getAllDisplay getAllDisplay(): Promise<Array<Display>> 获取当前所有的display对象。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **返回值:** | 类型 | 说明 | | ----------------------------------------------- | ------------------------------------------------------- | | Promise<Array<[Display](#display)>> | 以Promise形式返回结果,返回包含所有Display对象的Array。 | **示例:** ```js let promise = display.getAllDisplay(); promise.then(() => { console.log('getAllDisplay success'); }).catch((err) => { console.log('getAllDisplay fail: ' + JSON.stringify(err)); }); ``` ## display.on('add'|'remove'|'change') on(type: 'add'|'remove'|'change', callback: Callback<number>): void 开启监听。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置监听类型。
- type为"add",表示监听增加显示设备。
- type为"remove",表示监听移除显示设备。
- type为"change",表示监听改变显示设备。 | | callback | Callback<number> | 是 | 回调返回监听到的显示设备的id。 | **示例:** ```js var type = "add"; var callback = (data) => { console.info('Listening enabled. Data: ' + JSON.stringify(data)) } display.on(type, callback); ``` ## display.off('add'|'remove'|'change') off(type: 'add'|'remove'|'change', callback?: Callback<number>): void 关闭监听。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置监听类型。
- type为"add",表示监听增加显示设备。
- type为"remove",表示监听移除显示设备。
- type为"change",表示监听改变显示设备。 | | callback | Callback<number> | 否 | 回调返回监听到的显示设备的id。 | **示例:** ```js var type = "remove"; display.off(type); ```