1e41f4b71Sopenharmony_ci# @ohos.power (系统电源管理)(系统接口) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci该模块主要提供重启、关机、查询屏幕状态等接口。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8e41f4b71Sopenharmony_ci> 9e41f4b71Sopenharmony_ci> 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.power (系统电源管理)](js-apis-power.md)。 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci## 导入模块 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci```js 14e41f4b71Sopenharmony_ciimport {power} from '@kit.BasicServicesKit'; 15e41f4b71Sopenharmony_ci``` 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci## power.shutdown 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_cishutdown(reason: string): void 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci系统关机。 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.REBOOT 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci**参数:** 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 32e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ----- | 33e41f4b71Sopenharmony_ci| reason | string | 是 | 关机原因;该参数必须为字符串类型。 | 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci**错误码:** 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[系统电源管理错误码](errorcode-power.md)。 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 40e41f4b71Sopenharmony_ci|---------|---------| 41e41f4b71Sopenharmony_ci| 4900101 | Failed to connect to the service. | 42e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | 43e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 44e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ci**示例:** 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ci```js 50e41f4b71Sopenharmony_citry { 51e41f4b71Sopenharmony_ci power.shutdown('shutdown_test'); 52e41f4b71Sopenharmony_ci} catch(err) { 53e41f4b71Sopenharmony_ci console.error('shutdown failed, err: ' + err); 54e41f4b71Sopenharmony_ci} 55e41f4b71Sopenharmony_ci``` 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci## power.reboot<sup>9+</sup> 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_cireboot(reason: string): void 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ci重启设备。 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.REBOOT 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci**参数:** 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 72e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------- | 73e41f4b71Sopenharmony_ci| reason | string | 是 | 重启原因;该参数必须为字符串类型。 | 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ci**错误码:** 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[系统电源管理错误码](errorcode-power.md)。 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 80e41f4b71Sopenharmony_ci|---------|---------| 81e41f4b71Sopenharmony_ci| 4900101 | Failed to connect to the service. | 82e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | 83e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 84e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci**示例:** 87e41f4b71Sopenharmony_ci 88e41f4b71Sopenharmony_ci```js 89e41f4b71Sopenharmony_citry { 90e41f4b71Sopenharmony_ci power.reboot('reboot_test'); 91e41f4b71Sopenharmony_ci} catch(err) { 92e41f4b71Sopenharmony_ci console.error('reboot failed, err: ' + err); 93e41f4b71Sopenharmony_ci} 94e41f4b71Sopenharmony_ci``` 95e41f4b71Sopenharmony_ci 96e41f4b71Sopenharmony_ci## power.wakeup<sup>9+</sup> 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ciwakeup(detail: string): void 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci唤醒设备。 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 103e41f4b71Sopenharmony_ci 104e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci**参数:** 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 109e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------- | 110e41f4b71Sopenharmony_ci| detail | string | 是 | 唤醒原因;该参数必须为字符串类型。 | 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci**错误码:** 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[系统电源管理错误码](errorcode-power.md)。 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 117e41f4b71Sopenharmony_ci|---------|---------| 118e41f4b71Sopenharmony_ci| 4900101 | Failed to connect to the service. | 119e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | 120e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci**示例:** 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci```js 125e41f4b71Sopenharmony_citry { 126e41f4b71Sopenharmony_ci power.wakeup('wakeup_test'); 127e41f4b71Sopenharmony_ci} catch(err) { 128e41f4b71Sopenharmony_ci console.error('wakeup failed, err: ' + err); 129e41f4b71Sopenharmony_ci} 130e41f4b71Sopenharmony_ci``` 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci## power.suspend<sup>9+</sup> 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_cisuspend(isImmediate?: boolean): void 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_ci休眠设备。 137e41f4b71Sopenharmony_ci 138e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ci**参数:** 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 145e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------- | 146e41f4b71Sopenharmony_ci| isImmediate<sup>10+</sup> | boolean | 否 | 是否直接休眠设备。不填该参数则默认为false由系统自动检测何时进入休眠。<br>**说明:** 从API version 10开始,支持该参数。| 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci 149e41f4b71Sopenharmony_ci**错误码:** 150e41f4b71Sopenharmony_ci 151e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[系统电源管理错误码](errorcode-power.md)。 152e41f4b71Sopenharmony_ci 153e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 154e41f4b71Sopenharmony_ci|---------|---------| 155e41f4b71Sopenharmony_ci| 4900101 | Failed to connect to the service. | 156e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 157e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | 158e41f4b71Sopenharmony_ci 159e41f4b71Sopenharmony_ci**示例:** 160e41f4b71Sopenharmony_ci 161e41f4b71Sopenharmony_ci```js 162e41f4b71Sopenharmony_citry { 163e41f4b71Sopenharmony_ci power.suspend(); 164e41f4b71Sopenharmony_ci} catch(err) { 165e41f4b71Sopenharmony_ci console.error('suspend failed, err: ' + err); 166e41f4b71Sopenharmony_ci} 167e41f4b71Sopenharmony_ci``` 168e41f4b71Sopenharmony_ci 169e41f4b71Sopenharmony_ci## power.setPowerMode<sup>9+</sup> 170e41f4b71Sopenharmony_ci 171e41f4b71Sopenharmony_cisetPowerMode(mode: DevicePowerMode, callback: AsyncCallback<void>): void 172e41f4b71Sopenharmony_ci 173e41f4b71Sopenharmony_ci设置当前设备的电源模式。使用callback异步回调。 174e41f4b71Sopenharmony_ci 175e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 176e41f4b71Sopenharmony_ci 177e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.POWER_OPTIMIZATION 178e41f4b71Sopenharmony_ci 179e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 180e41f4b71Sopenharmony_ci 181e41f4b71Sopenharmony_ci**参数:** 182e41f4b71Sopenharmony_ci 183e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 184e41f4b71Sopenharmony_ci| -------- | ------------------------------------ | ---- | ------------------------------------------------------------ | 185e41f4b71Sopenharmony_ci| mode | DevicePowerMode | 是 | 电源模式;该参数类型是一个枚举类。 | 186e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 回调函数。当设置电源模式成功,err为undefined,否则为错误对象。 | 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci**错误码:** 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[系统电源管理错误码](errorcode-power.md)。 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 193e41f4b71Sopenharmony_ci|---------|---------| 194e41f4b71Sopenharmony_ci| 4900101 | Failed to connect to the service. | 195e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Parameter verification failed. | 196e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 197e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci**示例:** 200e41f4b71Sopenharmony_ci 201e41f4b71Sopenharmony_ci```js 202e41f4b71Sopenharmony_cipower.setPowerMode(power.DevicePowerMode.MODE_PERFORMANCE, (err: Error) => { 203e41f4b71Sopenharmony_ci if (typeof err === 'undefined') { 204e41f4b71Sopenharmony_ci console.info('set power mode to MODE_PERFORMANCE'); 205e41f4b71Sopenharmony_ci } else { 206e41f4b71Sopenharmony_ci console.error('set power mode failed, err: ' + err); 207e41f4b71Sopenharmony_ci } 208e41f4b71Sopenharmony_ci}); 209e41f4b71Sopenharmony_ci``` 210e41f4b71Sopenharmony_ci 211e41f4b71Sopenharmony_ci## power.setPowerMode<sup>9+</sup> 212e41f4b71Sopenharmony_ci 213e41f4b71Sopenharmony_cisetPowerMode(mode: DevicePowerMode): Promise<void> 214e41f4b71Sopenharmony_ci 215e41f4b71Sopenharmony_ci设置当前设备的电源模式。使用Promise异步回调。 216e41f4b71Sopenharmony_ci 217e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 218e41f4b71Sopenharmony_ci 219e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.POWER_OPTIMIZATION 220e41f4b71Sopenharmony_ci 221e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 222e41f4b71Sopenharmony_ci 223e41f4b71Sopenharmony_ci**参数:** 224e41f4b71Sopenharmony_ci 225e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 226e41f4b71Sopenharmony_ci| ------ | ------------------------------------ | ---- | ---------- | 227e41f4b71Sopenharmony_ci| mode | DevicePowerMode | 是 | 电源模式;该参数类型是一个枚举类。 | 228e41f4b71Sopenharmony_ci 229e41f4b71Sopenharmony_ci**返回值:** 230e41f4b71Sopenharmony_ci 231e41f4b71Sopenharmony_ci| 类型 | 说明 | 232e41f4b71Sopenharmony_ci| ------------------- | -------------------------------------- | 233e41f4b71Sopenharmony_ci| Promise<void> | Promise对象。无返回结果的Promise对象。 | 234e41f4b71Sopenharmony_ci 235e41f4b71Sopenharmony_ci**错误码:** 236e41f4b71Sopenharmony_ci 237e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[系统电源管理错误码](errorcode-power.md)。 238e41f4b71Sopenharmony_ci 239e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 240e41f4b71Sopenharmony_ci|---------|---------| 241e41f4b71Sopenharmony_ci| 4900101 | Failed to connect to the service. | 242e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Parameter verification failed. | 243e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 244e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 245e41f4b71Sopenharmony_ci 246e41f4b71Sopenharmony_ci**示例:** 247e41f4b71Sopenharmony_ci 248e41f4b71Sopenharmony_ci```js 249e41f4b71Sopenharmony_cipower.setPowerMode(power.DevicePowerMode.MODE_PERFORMANCE) 250e41f4b71Sopenharmony_ci.then(() => { 251e41f4b71Sopenharmony_ci console.info('set power mode to MODE_PERFORMANCE'); 252e41f4b71Sopenharmony_ci}) 253e41f4b71Sopenharmony_ci.catch((err : Error)=> { 254e41f4b71Sopenharmony_ci console.error('set power mode failed, err: ' + err); 255e41f4b71Sopenharmony_ci}); 256e41f4b71Sopenharmony_ci``` 257e41f4b71Sopenharmony_ci 258e41f4b71Sopenharmony_ci## power.setScreenOffTime<sup>12+</sup> 259e41f4b71Sopenharmony_ci 260e41f4b71Sopenharmony_cisetScreenOffTime(timeout: number): void 261e41f4b71Sopenharmony_ci 262e41f4b71Sopenharmony_ci设置熄屏超时时间。 263e41f4b71Sopenharmony_ci 264e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 265e41f4b71Sopenharmony_ci 266e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 267e41f4b71Sopenharmony_ci 268e41f4b71Sopenharmony_ci**参数:** 269e41f4b71Sopenharmony_ci 270e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 271e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ----- | 272e41f4b71Sopenharmony_ci| timeout | number | 是 | 熄屏超时时间,单位是毫秒,大于0代表熄屏超时时间,-1代表恢复默认超时时间,其它是无效值。 | 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_ci**错误码:** 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[系统电源管理错误码](errorcode-power.md)。 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 279e41f4b71Sopenharmony_ci|---------|---------| 280e41f4b71Sopenharmony_ci| 4900101 | Failed to connect to the service. | 281e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Parameter verification failed. | 282e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ci**示例:** 285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_ci```js 287e41f4b71Sopenharmony_citry { 288e41f4b71Sopenharmony_ci power.setScreenOffTime(30000); 289e41f4b71Sopenharmony_ci} catch(err) { 290e41f4b71Sopenharmony_ci console.error('set screen off time failed, err: ' + err); 291e41f4b71Sopenharmony_ci} 292e41f4b71Sopenharmony_ci``` 293e41f4b71Sopenharmony_ci 294e41f4b71Sopenharmony_ci## power.hibernate<sup>12+</sup> 295e41f4b71Sopenharmony_ci 296e41f4b71Sopenharmony_cihibernate(clearMemory: boolean): void 297e41f4b71Sopenharmony_ci 298e41f4b71Sopenharmony_ci休眠设备。 299e41f4b71Sopenharmony_ci 300e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 301e41f4b71Sopenharmony_ci 302e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.PowerManager.PowerManager.Core 303e41f4b71Sopenharmony_ci 304e41f4b71Sopenharmony_ci**参数:** 305e41f4b71Sopenharmony_ci 306e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 307e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ----- | 308e41f4b71Sopenharmony_ci| clearMemory | boolean | 是 | true 代表在进入休眠之前清理内存,否则为false。 | 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_ci**错误码:** 311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[系统电源管理错误码](errorcode-power.md)。 313e41f4b71Sopenharmony_ci 314e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 315e41f4b71Sopenharmony_ci|---------|---------| 316e41f4b71Sopenharmony_ci| 4900101 | Failed to connect to the service. | 317e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 318e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | 319e41f4b71Sopenharmony_ci 320e41f4b71Sopenharmony_ci**示例:** 321e41f4b71Sopenharmony_ci 322e41f4b71Sopenharmony_ci```js 323e41f4b71Sopenharmony_citry { 324e41f4b71Sopenharmony_ci power.hibernate(true); 325e41f4b71Sopenharmony_ci} catch(err) { 326e41f4b71Sopenharmony_ci console.error('hibernate failed, err: ' + err); 327e41f4b71Sopenharmony_ci} 328e41f4b71Sopenharmony_ci```