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&lt;void&gt;): 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&lt;void&gt;            | 是   | 回调函数。当设置电源模式成功,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&lt;void&gt;
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&lt;void&gt; | 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```