You need to sign in or sign up before continuing.
js-apis-display.md 8.0 KB
Newer Older
Z
zengyawen 已提交
1
# 显示设备属性
Z
zengyawen 已提交
2

Z
zengyawen 已提交
3
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
4
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
5 6

## 导入模块
Z
zengyawen 已提交
7 8 9 10 11

```
import display from '@ohos.display';
```

Z
zengyawen 已提交
12 13

## DisplayState
Z
zengyawen 已提交
14 15 16

用于表示显示设备的状态。

Z
zengyawen 已提交
17 18
| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
Y
youqijing 已提交
19 20 21 22 23 24 25
| STATE_UNKNOWN | 0 | 表示显示设备状态未知。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| STATE_OFF | 1 | 表示显示设备状态为关闭。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| STATE_ON | 2 | 表示显示设备状态为开启。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| STATE_DOZE | 3 | 表示显示设备为低电耗模式。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| STATE_DOZE_SUSPEND | 4 | 表示显示设备为睡眠模式,CPU为挂起状态&nbsp;<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| STATE_VR | 5 | 表示显示设备为VR模式。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| STATE_ON_SUSPEND | 6 | 表示显示设备为开启状态,CPU为挂起状态。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
Z
zengyawen 已提交
26 27 28


## Display
Z
zengyawen 已提交
29 30 31

描述display对象的属性。

Z
zengyawen 已提交
32 33
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
Y
youqijing 已提交
34 35 36
| id | number | 是 | 否 | 显示设备的id号。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| name | string | 是 | 否 | 显示设备的名称。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| alive | boolean | 是 | 否 | 显示设备是否启用。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
37
| state | [DisplayState](#DisplayState) | 是 | 否 | 显示设备的状态。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
Y
youqijing 已提交
38 39 40 41 42 43 44 45 46
| refreshRate | number | 是 | 否 | 显示设备的刷新率。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| rotation | number | 是 | 否 | 显示设备的屏幕旋转角度。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| width | number | 是 | 否 | 显示设备的宽度,单位为像素。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| height | number | 是 | 否 | 显示设备的高度,单位为像素。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| densityDPI | number | 是 | 否 | 显示设备的屏幕密度,单位为DPI。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| densityPixels | number | 是 | 否 | 显示设备的屏幕密度,单位为像素。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| scaledDensity | number | 是 | 否 | 显示设备的显示字体的缩放因子。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| xDPI | number | 是 | 否 | x方向中每英寸屏幕的确切物理像素值。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
| yDPI | number | 是 | 否 | y方向中每英寸屏幕的确切物理像素值。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core |
Z
zengyawen 已提交
47 48 49 50


## display.getDefaultDisplay

Y
youqijing 已提交
51
getDefaultDisplay(callback: AsyncCallback&lt;Display&gt;): void
Z
zengyawen 已提交
52 53 54

获取当前默认的display对象。

55 56
**系统能力**:SystemCapability.WindowManager.WindowManager.Core

Z
zengyawen 已提交
57 58 59
- 参数
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
60
  | callback | AsyncCallback&lt;[Display](#Display)&gt; | 是 | 回调返回当前默认的display对象。 |
Z
zengyawen 已提交
61 62 63 64 65 66 67 68 69 70 71 72 73 74

- 示例
  ```
  var displayClass = null;
  display.getDefaultDisplay((err, data) => {
      if (err) {
          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;
  });
  ```

75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
## display.getDefaultDisplay

getDefaultDisplay(): Promise&lt;Display&gt;

获取当前默认的display对象。

**系统能力**:SystemCapability.WindowManager.WindowManager.Core

- 返回值

  | 类型                               | 说明                                           |
  | ---------------------------------- | ---------------------------------------------- |
  | Promise&lt;[Display](#Display)&gt; | 以Promise形式返回结果,返回默认的display对象。 |

- 示例

  ```
  let promise = display.getDefaultDisplay();
  promise.then(() => {
      console.log('getDefaultDisplay success');
  }).catch((err) => {
      console.log('getDefaultDisplay fail: ' + JSON.stringify(err));
  });
  ```

100 101 102 103 104 105
## display.getAllDisplay

getAllDisplay(callback: AsyncCallback&lt;Array&lt;Display&gt;&gt;): void

获取当前所有的display对象。

106 107
**系统能力**:SystemCapability.WindowManager.WindowManager.Core

108 109
- 参数

110 111 112
  | 参数名   | 类型                                                 | 必填 | 说明                            |
  | -------- | ---------------------------------------------------- | ---- | ------------------------------- |
  | callback | AsyncCallback&lt;Array&lt;[Display](Display)&gt;&gt; | 是   | 回调返回当前所有的display对象。 |
113 114 115 116 117 118 119 120 121 122 123 124

- 示例

  ```
  display.getAllDisplay((err, data) => {
      if (err) {
          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))
  });
  ```
Z
zengyawen 已提交
125

126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
## display.getAllDisplay

getAllDisplay(): Promise&lt;Array&lt;Display&gt;&gt;

获取当前所有的display对象。

**系统能力**:SystemCapability.WindowManager.WindowManager.Core

- 返回值

  | 类型                                            | 说明                                                    |
  | ----------------------------------------------- | ------------------------------------------------------- |
  | Promise&lt;Array&lt;[Display](#Display)&gt;&gt; | 以Promise形式返回结果,返回包含所有Display对象的Array。 |

- 示例

  ```
  let promise = display.getAllDisplay();
  promise.then(() => {
      console.log('getAllDisplay success');
  }).catch((err) => {
      console.log('getAllDisplay fail: ' + JSON.stringify(err));
  });
  ```

Z
zengyawen 已提交
151 152
## display.on('add'|'remove'|'change')

Y
youqijing 已提交
153
on(type: 'add'|'remove'|'change', callback: Callback&lt;number&gt;): void
Z
zengyawen 已提交
154 155 156

开启监听。

157 158
**系统能力**:SystemCapability.WindowManager.WindowManager.Core

Z
zengyawen 已提交
159 160 161 162 163 164 165 166 167 168 169 170 171 172
- 参数
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 设置监听类型。<br/>-&nbsp;type为"add",表示监听增加显示设备。<br/>-&nbsp;type为"remove",表示监听移除显示设备。<br/>-&nbsp;type为"change",表示监听改变显示设备。 |
  | callback | Callback&lt;number&gt; | 是 | 回调返回监听到的显示设备的id。 |

- 示例
  ```
  var type = "add";
  var callback = (data) => {
      console.info('Listening enabled. Data: ' + JSON.stringify(data))
  }
  display.on(type, callback);
  ```
Z
zengyawen 已提交
173 174


Z
zengyawen 已提交
175
## display.off('add'|'remove'|'change')
Z
zengyawen 已提交
176

Y
youqijing 已提交
177
off(type: 'add'|'remove'|'change', callback?: Callback&lt;number&gt;): void
Z
zengyawen 已提交
178 179

关闭监听。
Z
zengyawen 已提交
180

181 182
**系统能力**:SystemCapability.WindowManager.WindowManager.Core

Z
zengyawen 已提交
183 184 185 186 187 188 189 190 191 192 193
- 参数
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 设置监听类型。<br/>-&nbsp;type为"add",表示监听增加显示设备。<br/>-&nbsp;type为"remove",表示监听移除显示设备。<br/>-&nbsp;type为"change",表示监听改变显示设备。 |
  | callback | Callback&lt;number&gt; | 否 | 回调返回监听到的显示设备的id。 |

- 示例
  ```
  var type = "remove";
  display.off(type);
  ```