1e41f4b71Sopenharmony_ci# @ohos.power (系统电源管理) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci该模块主要提供重启、关机、查询屏幕状态等接口。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci## 导入模块 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci```js 12e41f4b71Sopenharmony_ciimport {power} from '@kit.BasicServicesKit'; 13e41f4b71Sopenharmony_ci``` 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci## power.isActive<sup>9+</sup> 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ciisActive(): boolean 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci检测当前设备是否处于活动状态。有屏的设备为亮屏状态,无屏的设备为非休眠状态。 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci**错误码:** 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[系统电源管理错误码](errorcode-power.md)。 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 28e41f4b71Sopenharmony_ci|---------|---------| 29e41f4b71Sopenharmony_ci| 4900101 | Failed to connect to the service. | 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**示例:** 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci```js 34e41f4b71Sopenharmony_citry { 35e41f4b71Sopenharmony_ci let isActive = power.isActive(); 36e41f4b71Sopenharmony_ci console.info('power is active: ' + isActive); 37e41f4b71Sopenharmony_ci} catch(err) { 38e41f4b71Sopenharmony_ci console.error('check active status failed, err: ' + err); 39e41f4b71Sopenharmony_ci} 40e41f4b71Sopenharmony_ci``` 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci## power.rebootDevice<sup>(deprecated)</sup> 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_cirebootDevice(reason: string): void 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci> **说明:**<br>从API version 7开始支持,从API version 9开始不再维护。替代接口能力仅对系统应用开放。 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci重启设备。 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.REBOOT,该权限仅系统应用可申请。 51e41f4b71Sopenharmony_ci 52e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci**参数:** 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 58e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ----- | 59e41f4b71Sopenharmony_ci| reason | string | 是 | 重启原因。 | 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ci**示例:** 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci```js 64e41f4b71Sopenharmony_cipower.rebootDevice('reboot_test'); 65e41f4b71Sopenharmony_ci``` 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ci## power.getPowerMode<sup>9+</sup> 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_cigetPowerMode(): DevicePowerMode 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci获取当前设备的电源模式。 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ci**返回值:** 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci| 类型 | 说明 | 78e41f4b71Sopenharmony_ci| ------------------------------------ | ---------- | 79e41f4b71Sopenharmony_ci| [DevicePowerMode](#devicepowermode9) | 电源模式。 | 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci**错误码:** 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[系统电源管理错误码](errorcode-power.md)。 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 86e41f4b71Sopenharmony_ci|---------|---------| 87e41f4b71Sopenharmony_ci| 4900101 | Failed to connect to the service. | 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ci**示例:** 90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci```js 92e41f4b71Sopenharmony_citry { 93e41f4b71Sopenharmony_ci let mode = power.getPowerMode(); 94e41f4b71Sopenharmony_ci console.info('power mode: ' + mode); 95e41f4b71Sopenharmony_ci} catch(err) { 96e41f4b71Sopenharmony_ci console.error('get power mode failed, err: ' + err); 97e41f4b71Sopenharmony_ci} 98e41f4b71Sopenharmony_ci``` 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci## power.isStandby<sup>10+</sup> 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ciisStandby(): boolean 103e41f4b71Sopenharmony_ci 104e41f4b71Sopenharmony_ci检测当前设备是否进入待机低功耗续航模式。 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci**返回值:** 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ci| 类型 | 说明 | 111e41f4b71Sopenharmony_ci| ------------------- | -------------------------------------- | 112e41f4b71Sopenharmony_ci| boolean | 进入待机模式返回true,否则返回false。 | 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci**错误码:** 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[系统电源管理错误码](errorcode-power.md)。 117e41f4b71Sopenharmony_ci 118e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 119e41f4b71Sopenharmony_ci|---------|---------| 120e41f4b71Sopenharmony_ci| 4900101 | Failed to connect to the service. | 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci**示例:** 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci```js 125e41f4b71Sopenharmony_citry { 126e41f4b71Sopenharmony_ci let isStandby = power.isStandby(); 127e41f4b71Sopenharmony_ci console.info('device is in standby: ' + isStandby); 128e41f4b71Sopenharmony_ci} catch(err) { 129e41f4b71Sopenharmony_ci console.error('check isStandby failed, err: ' + err); 130e41f4b71Sopenharmony_ci} 131e41f4b71Sopenharmony_ci``` 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci## power.isScreenOn<sup>(deprecated)</sup> 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ciisScreenOn(callback: AsyncCallback<boolean>): void 136e41f4b71Sopenharmony_ci 137e41f4b71Sopenharmony_ci> **说明:**<br>从API version 9开始不再维护,建议使用[power.isActive](#powerisactive9)替代。 138e41f4b71Sopenharmony_ci 139e41f4b71Sopenharmony_ci检测当前设备的亮灭屏状态。使用callback异步回调。 140e41f4b71Sopenharmony_ci 141e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 142e41f4b71Sopenharmony_ci 143e41f4b71Sopenharmony_ci**参数:** 144e41f4b71Sopenharmony_ci 145e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 146e41f4b71Sopenharmony_ci| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | 147e41f4b71Sopenharmony_ci| callback | AsyncCallback<boolean> | 是 | 回调函数。当检测成功,err为undefined,data为获取到的亮灭屏状态,返回true表示亮屏,返回false表示灭屏;否则为错误对象。 | 148e41f4b71Sopenharmony_ci 149e41f4b71Sopenharmony_ci**示例:** 150e41f4b71Sopenharmony_ci 151e41f4b71Sopenharmony_ci```js 152e41f4b71Sopenharmony_cipower.isScreenOn((err: Error, data: boolean) => { 153e41f4b71Sopenharmony_ci if (typeof err === 'undefined') { 154e41f4b71Sopenharmony_ci console.info('screen on status is ' + data); 155e41f4b71Sopenharmony_ci } else { 156e41f4b71Sopenharmony_ci console.error('check screen status failed, err: ' + err); 157e41f4b71Sopenharmony_ci } 158e41f4b71Sopenharmony_ci}) 159e41f4b71Sopenharmony_ci``` 160e41f4b71Sopenharmony_ci 161e41f4b71Sopenharmony_ci## power.isScreenOn<sup>(deprecated)</sup> 162e41f4b71Sopenharmony_ci 163e41f4b71Sopenharmony_ciisScreenOn(): Promise<boolean> 164e41f4b71Sopenharmony_ci 165e41f4b71Sopenharmony_ci> **说明:**<br>从API version 9开始不再维护,建议使用[power.isActive](#powerisactive9)替代。 166e41f4b71Sopenharmony_ci 167e41f4b71Sopenharmony_ci检测当前设备的亮灭屏状态。使用Promise异步回调。 168e41f4b71Sopenharmony_ci 169e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 170e41f4b71Sopenharmony_ci 171e41f4b71Sopenharmony_ci**返回值:** 172e41f4b71Sopenharmony_ci| 类型 | 说明 | 173e41f4b71Sopenharmony_ci| ---------------------- | -------------------------------------------------- | 174e41f4b71Sopenharmony_ci| Promise<boolean> | Promise对象。返回true表示亮屏;返回false表示灭屏。 | 175e41f4b71Sopenharmony_ci 176e41f4b71Sopenharmony_ci**示例:** 177e41f4b71Sopenharmony_ci 178e41f4b71Sopenharmony_ci```js 179e41f4b71Sopenharmony_cipower.isScreenOn() 180e41f4b71Sopenharmony_ci.then((data: boolean) => { 181e41f4b71Sopenharmony_ci console.info('screen on status is ' + data); 182e41f4b71Sopenharmony_ci}) 183e41f4b71Sopenharmony_ci.catch((err: Error) => { 184e41f4b71Sopenharmony_ci console.error('check screen status failed, err: ' + err); 185e41f4b71Sopenharmony_ci}) 186e41f4b71Sopenharmony_ci``` 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci## DevicePowerMode<sup>9+</sup> 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_ci表示电源模式的枚举值。 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 193e41f4b71Sopenharmony_ci 194e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 195e41f4b71Sopenharmony_ci| ----------------------- | ---- | ---------------------- | 196e41f4b71Sopenharmony_ci| MODE_NORMAL | 600 | 表示标准模式,默认值。 | 197e41f4b71Sopenharmony_ci| MODE_POWER_SAVE | 601 | 表示省电模式。 | 198e41f4b71Sopenharmony_ci| MODE_PERFORMANCE | 602 | 表示性能模式。 | 199e41f4b71Sopenharmony_ci| MODE_EXTREME_POWER_SAVE | 603 | 表示超级省电模式。 | 200