1# 屏幕属性 2屏幕属性提供管理显示设备的一些基础能力,包括获取默认显示设备的信息,获取所有显示设备的信息以及监听显示设备的插拔行为。 3 4> **说明:** 5> 6> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 7 8## 导入模块 9 10```js 11import display from '@ohos.display'; 12``` 13 14 15## DisplayState 16 17用于表示显示设备的状态。 18 19**系统能力:** SystemCapability.WindowManager.WindowManager.Core 20 21| 名称 | 默认值 | 说明 | 22| -------- | -------- | -------- | 23| STATE_UNKNOWN | 0 | 表示显示设备状态未知。| 24| STATE_OFF | 1 | 表示显示设备状态为关闭。 | 25| STATE_ON | 2 | 表示显示设备状态为开启。| 26| STATE_DOZE | 3 | 表示显示设备为低电耗模式。| 27| STATE_DOZE_SUSPEND | 4 | 表示显示设备为睡眠模式,CPU为挂起状态。 | 28| STATE_VR | 5 | 表示显示设备为VR模式。| 29| STATE_ON_SUSPEND | 6 | 表示显示设备为开启状态,CPU为挂起状态。 | 30 31 32## Display 33 34描述display对象的属性。 35 36**系统能力:** SystemCapability.WindowManager.WindowManager.Core 37 38| 名称 | 参数类型 | 可读 | 可写 | 说明 | 39| -------- | -------- | -------- | -------- | -------- | 40| id | number | 是 | 否 | 显示设备的id号。| 41| name | string | 是 | 否 | 显示设备的名称。| 42| alive | boolean | 是 | 否 | 显示设备是否启用。| 43| state | [DisplayState](#displaystate) | 是 | 否 | 显示设备的状态。| 44| refreshRate | number | 是 | 否 | 显示设备的刷新率。| 45| rotation | number | 是 | 否 | 显示设备的屏幕旋转角度。| 46| width | number | 是 | 否 | 显示设备的宽度,单位为像素。| 47| height | number | 是 | 否 | 显示设备的高度,单位为像素。| 48| densityDPI | number | 是 | 否 | 显示设备的屏幕密度,表示每英寸点数。一般取值160、480等。| 49| densityPixels | number | 是 | 否 | 显示设备的逻辑密度,是与像素单位无关的缩放系数。一般取值1、3等。| 50| scaledDensity | number | 是 | 否 | 显示设备的显示字体的缩放因子。通常与densityPixels相同。| 51| xDPI | number | 是 | 否 | x方向中每英寸屏幕的确切物理像素值。 | 52| yDPI | number | 是 | 否 | y方向中每英寸屏幕的确切物理像素值。| 53 54 55## display.getDefaultDisplay 56 57getDefaultDisplay(callback: AsyncCallback<Display>): void 58 59获取当前默认的display对象。 60 61**系统能力:** SystemCapability.WindowManager.WindowManager.Core 62 63**参数:** 64 65 | 参数名 | 类型 | 必填 | 说明 | 66 | -------- | -------- | -------- | -------- | 67 | callback | AsyncCallback<[Display](#display)> | 是 | 回调函数。返回当前默认的display对象。 | 68 69**示例:** 70 71```js 72var displayClass = null; 73display.getDefaultDisplay((err, data) => { 74 if (err.code) { 75 console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(err)); 76 return; 77 } 78 console.info('Succeeded in obtaining the default display object. Data:' + JSON.stringify(data)); 79 displayClass = data; 80}); 81``` 82 83## display.getDefaultDisplay 84 85getDefaultDisplay(): Promise<Display> 86 87获取当前默认的display对象。 88 89**系统能力:** SystemCapability.WindowManager.WindowManager.Core 90 91**返回值:** 92 93 | 类型 | 说明 | 94 | ---------------------------------- | ---------------------------------------------- | 95 | Promise<[Display](#display)> | Promise对象。返回当前默认的display对象。 | 96 97**示例:** 98 99```js 100var displayClass = null; 101let promise = display.getDefaultDisplay(); 102promise.then((data) => { 103 displayClass = data; 104 console.info('Succeeded in obtaining the default display object. Data:' + JSON.stringify(data)); 105}).catch((err) => { 106 console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(err)); 107}); 108``` 109 110## display.getAllDisplay 111 112getAllDisplay(callback: AsyncCallback<Array<Display>>): void 113 114获取当前所有的display对象。 115 116**系统能力:** SystemCapability.WindowManager.WindowManager.Core 117 118**参数:** 119 120 | 参数名 | 类型 | 必填 | 说明 | 121 | -------- | ---------------------------------------------------- | ---- | ------------------------------- | 122 | callback | AsyncCallback<Array<[Display](#display)>> | 是 | 回调函数。返回当前所有的display对象。 | 123 124**示例:** 125 126```js 127display.getAllDisplay((err, data) => { 128 if (err.code) { 129 console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err)); 130 return; 131 } 132 console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data)); 133}); 134``` 135 136## display.getAllDisplay 137 138getAllDisplay(): Promise<Array<Display>> 139 140获取当前所有的display对象。 141 142**系统能力:** SystemCapability.WindowManager.WindowManager.Core 143 144**返回值:** 145 146 | 类型 | 说明 | 147 | ----------------------------------------------- | ------------------------------------------------------- | 148 | Promise<Array<[Display](#display)>> | Promise对象。返回当前所有的display对象。 | 149 150**示例:** 151 152```js 153let promise = display.getAllDisplay(); 154promise.then((data) => { 155 console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data)); 156}).catch((err) => { 157 console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err)); 158}); 159``` 160 161## display.on('add'|'remove'|'change') 162 163on(type: 'add'|'remove'|'change', callback: Callback<number>): void 164 165开启监听。 166 167**系统能力:** SystemCapability.WindowManager.WindowManager.Core 168 169**参数:** 170 171 | 参数名 | 类型 | 必填 | 说明 | 172 | -------- | -------- | -------- | -------- | 173 | type | string | 是 | 设置监听类型。<br/>- type为"add",表示监听增加显示设备。<br/>- type为"remove",表示监听移除显示设备。<br/>- type为"change",表示监听改变显示设备。 | 174 | callback | Callback<number> | 是 | 回调函数。返回监听到的显示设备的id。 | 175 176**示例:** 177 178```js 179var callback = (data) => { 180 console.info('Listening enabled. Data: ' + JSON.stringify(data)) 181} 182display.on("add", callback); 183 ``` 184 185## display.off('add'|'remove'|'change') 186 187off(type: 'add'|'remove'|'change', callback?: Callback<number>): void 188 189关闭监听。 190 191**系统能力:** SystemCapability.WindowManager.WindowManager.Core 192 193**参数:** 194 195 | 参数名 | 类型 | 必填 | 说明 | 196 | -------- | -------- | -------- | -------- | 197 | type | string | 是 | 设置监听类型。<br/>- type为"add",表示监听增加显示设备。<br/>- type为"remove",表示监听移除显示设备。<br/>- type为"change",表示监听改变显示设备。 | 198 | callback | Callback<number> | 否 | 回调函数。返回监听到的显示设备的id。 | 199 200**示例:** 201```js 202display.off("remove"); 203``` 204