1# @ohos.power (系统电源管理) 2 3该模块主要提供重启、关机、查询屏幕状态等接口。 4 5> **说明:** 6> 7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```js 12import power from '@ohos.power'; 13``` 14 15## power.shutdown 16 17shutdown(reason: string): void 18 19系统关机。 20 21**系统接口:** 此接口为系统接口。 22 23**需要权限:** ohos.permission.REBOOT 24 25**系统能力:** SystemCapability.PowerManager.PowerManager.Core 26 27**参数:** 28 29| 参数名 | 类型 | 必填 | 说明 | 30| ------ | ------ | ---- | ----- | 31| reason | string | 是 | 关机原因。 | 32 33**错误码:** 34 35以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。 36 37| 错误码ID | 错误信息 | 38|---------|---------| 39| 4900101 | If connecting to the service failed. | 40 41**示例:** 42 43```js 44try { 45 power.shutdown('shutdown_test'); 46} catch(err) { 47 console.error('shutdown failed, err: ' + err); 48} 49``` 50 51## power.reboot<sup>9+</sup> 52 53reboot(reason: string): void 54 55重启设备。 56 57**系统接口:** 此接口为系统接口。 58 59**需要权限:** ohos.permission.REBOOT 60 61**系统能力:** SystemCapability.PowerManager.PowerManager.Core 62 63**参数:** 64 65| 参数名 | 类型 | 必填 | 说明 | 66| ------ | ------ | ---- | ---------- | 67| reason | string | 是 | 重启原因。 | 68 69**错误码:** 70 71以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。 72 73| 错误码ID | 错误信息 | 74|---------|---------| 75| 4900101 | If connecting to the service failed. | 76 77**示例:** 78 79```js 80try { 81 power.reboot('reboot_test'); 82} catch(err) { 83 console.error('reboot failed, err: ' + err); 84} 85``` 86 87## power.isActive<sup>9+</sup> 88 89isActive(): boolean 90 91检测当前设备是否处于活动状态。 92 93**系统能力:** SystemCapability.PowerManager.PowerManager.Core 94 95**错误码:** 96 97以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。 98 99| 错误码ID | 错误信息 | 100|---------|---------| 101| 4900101 | If connecting to the service failed. | 102 103**示例:** 104 105```js 106try { 107 var isActive = power.isActive(); 108 console.info('power is active: ' + isActive); 109} catch(err) { 110 console.error('check active status failed, err: ' + err); 111} 112``` 113 114## power.wakeup<sup>9+</sup> 115 116wakeup(detail: string): void 117 118唤醒设备。 119 120**系统接口:** 此接口为系统接口。 121 122**系统能力:** SystemCapability.PowerManager.PowerManager.Core 123 124**参数:** 125 126| 参数名 | 类型 | 必填 | 说明 | 127| ------ | ------ | ---- | ---------- | 128| detail | string | 是 | 唤醒原因。 | 129 130**错误码:** 131 132以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。 133 134| 错误码ID | 错误信息 | 135|---------|---------| 136| 4900101 | If connecting to the service failed. | 137 138**示例:** 139 140```js 141try { 142 power.wakeup('wakeup_test'); 143} catch(err) { 144 console.error('wakeup failed, err: ' + err); 145} 146``` 147 148## power.suspend<sup>9+</sup> 149 150suspend(): void 151 152休眠设备。 153 154**系统接口:** 此接口为系统接口。 155 156**系统能力:** SystemCapability.PowerManager.PowerManager.Core 157 158**错误码:** 159 160以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。 161 162| 错误码ID | 错误信息 | 163|---------|---------| 164| 4900101 | If connecting to the service failed. | 165 166**示例:** 167 168```js 169try { 170 power.suspend(); 171} catch(err) { 172 console.error('suspend failed, err: ' + err); 173} 174``` 175 176## power.getPowerMode<sup>9+</sup> 177 178getPowerMode(): DevicePowerMode 179 180获取当前设备的电源模式。 181 182**系统能力:** SystemCapability.PowerManager.PowerManager.Core 183 184**返回值:** 185 186| 类型 | 说明 | 187| ------------------------------------ | ---------- | 188| [DevicePowerMode](#devicepowermode9) | 电源模式。 | 189 190**错误码:** 191 192以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。 193 194| 错误码ID | 错误信息 | 195|---------|---------| 196| 4900101 | If connecting to the service failed. | 197 198**示例:** 199 200```js 201try { 202 var mode = power.getPowerMode(); 203 console.info('power mode: ' + mode); 204} catch(err) { 205 console.error('get power mode failed, err: ' + err); 206} 207``` 208 209## power.setPowerMode<sup>9+</sup> 210 211setPowerMode(mode: DevicePowerMode, callback: AsyncCallback<void>): void 212 213设置当前设备的电源模式。使用callback异步回调。 214 215**系统接口:** 此接口为系统接口。 216 217**需要权限:** ohos.permission.POWER_OPTIMIZATION 218 219**系统能力:** SystemCapability.PowerManager.PowerManager.Core 220 221**参数:** 222 223| 参数名 | 类型 | 必填 | 说明 | 224| -------- | ------------------------------------ | ---- | ------------------------------------------------------------ | 225| mode | [DevicePowerMode](#devicepowermode9) | 是 | 电源模式。 | 226| callback | AsyncCallback<void> | 是 | 回调函数。当设置电源模式成功,err为undefined,否则为错误对象。 | 227 228**错误码:** 229 230以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。 231 232| 错误码ID | 错误信息 | 233|---------|---------| 234| 4900101 | If connecting to the service failed. | 235 236**示例:** 237 238```js 239power.setPowerMode(power.DevicePowerMode.MODE_PERFORMANCE, err => { 240 if (typeof err === 'undefined') { 241 console.info('set power mode to MODE_PERFORMANCE'); 242 } else { 243 console.error('set power mode failed, err: ' + err); 244 } 245}); 246``` 247 248## power.setPowerMode<sup>9+</sup> 249 250setPowerMode(mode: DevicePowerMode): Promise<void> 251 252设置当前设备的电源模式。使用Promise异步回调。 253 254**系统接口:** 此接口为系统接口。 255 256**需要权限:** ohos.permission.POWER_OPTIMIZATION 257 258**系统能力:** SystemCapability.PowerManager.PowerManager.Core 259 260**参数:** 261 262| 参数名 | 类型 | 必填 | 说明 | 263| ------ | ------------------------------------ | ---- | ---------- | 264| mode | [DevicePowerMode](#devicepowermode9) | 是 | 电源模式。 | 265 266**返回值:** 267 268| 类型 | 说明 | 269| ------------------- | -------------------------------------- | 270| Promise<void> | Promise对象。无返回结果的Promise对象。 | 271 272**错误码:** 273 274以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。 275 276| 错误码ID | 错误信息 | 277|---------|---------| 278| 4900101 | If connecting to the service failed. | 279 280**示例:** 281 282```js 283power.setPowerMode(power.DevicePowerMode.MODE_PERFORMANCE) 284.then(() => { 285 console.info('set power mode to MODE_PERFORMANCE'); 286}) 287.catch(err => { 288 console.error('set power mode failed, err: ' + err); 289}); 290``` 291 292## power.rebootDevice<sup>(deprecated)</sup> 293 294rebootDevice(reason: string): void 295 296> **说明:**<br>从API version 7开始支持,从API version 9开始不再维护。建议使用[power.reboot](#powerreboot9)替代,替代接口能力仅对系统应用开放。 297 298重启设备。 299 300**需要权限:** ohos.permission.REBOOT 301 302**系统能力:** SystemCapability.PowerManager.PowerManager.Core 303 304**参数:** 305 306| 参数名 | 类型 | 必填 | 说明 | 307| ------ | ------ | ---- | ----- | 308| reason | string | 是 | 重启原因。 | 309 310**示例:** 311 312```js 313power.rebootDevice('reboot_test'); 314``` 315 316## power.isScreenOn<sup>(deprecated)</sup> 317 318isScreenOn(callback: AsyncCallback<boolean>): void 319 320> **说明:**<br>从API version 9开始不再维护,建议使用[power.isActive](#powerisactive9)替代。 321 322检测当前设备的亮灭屏状态。使用callback异步回调。 323 324**系统能力:** SystemCapability.PowerManager.PowerManager.Core 325 326**参数:** 327 328| 参数名 | 类型 | 必填 | 说明 | 329| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | 330| callback | AsyncCallback<boolean> | 是 | 回调函数。当检测成功,err为undefined,data为获取到的亮灭屏状态,返回true表示亮屏,返回false表示灭屏;否则为错误对象。 | 331 332**示例:** 333 334```js 335power.isScreenOn((err, data) => { 336 if (typeof err === 'undefined') { 337 console.info('screen on status is ' + data); 338 } else { 339 console.error('check screen status failed, err: ' + err); 340 } 341}) 342``` 343 344## power.isScreenOn<sup>(deprecated)</sup> 345 346isScreenOn(): Promise<boolean> 347 348> **说明:**<br>从API version 9开始不再维护,建议使用[power.isActive](#powerisactive9)替代。 349 350检测当前设备的亮灭屏状态。使用Promise异步回调。 351 352**系统能力:** SystemCapability.PowerManager.PowerManager.Core 353 354**返回值:** 355| 类型 | 说明 | 356| ---------------------- | -------------------------------------------------- | 357| Promise<boolean> | Promise对象。返回true表示亮屏;返回false表示灭屏。 | 358 359**示例:** 360 361```js 362power.isScreenOn() 363.then(data => { 364 console.info('screen on status is ' + data); 365}) 366.catch(err => { 367 console.error('check screen status failed, err: ' + err); 368}) 369``` 370 371## DevicePowerMode<sup>9+</sup> 372 373表示电源模式的枚举值。 374 375**系统能力:** SystemCapability.PowerManager.PowerManager.Core 376 377| 名称 | 值 | 说明 | 378| ----------------------- | ---- | ---------------------- | 379| MODE_NORMAL | 600 | 表示标准模式,默认值。 | 380| MODE_POWER_SAVE | 601 | 表示省电模式。 | 381| MODE_PERFORMANCE | 602 | 表示性能模式。 | 382| MODE_EXTREME_POWER_SAVE | 603 | 表示超级省电模式。 | 383