• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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    let 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(isImmediate?: boolean): void
151
152休眠设备。
153
154**系统接口:** 此接口为系统接口。
155
156**系统能力:** SystemCapability.PowerManager.PowerManager.Core
157
158**参数:**
159
160| 参数名 | 类型   | 必填 | 说明       |
161| ------ | ------ | ---- | ---------- |
162| isImmediate<sup>10+</sup> | boolean |  否  | 是否直接休眠设备。不填该参数则默认为false由系统自动检测何时进入休眠。<br>**说明:** 从API version 10开始,支持该参数。|
163
164
165**错误码:**
166
167以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。
168
169| 错误码ID   | 错误信息    |
170|---------|---------|
171| 4900101 | If connecting to the service failed. |
172
173**示例:**
174
175```js
176try {
177    power.suspend();
178} catch(err) {
179    console.error('suspend failed, err: ' + err);
180}
181```
182
183## power.getPowerMode<sup>9+</sup>
184
185getPowerMode(): DevicePowerMode
186
187获取当前设备的电源模式。
188
189**系统能力:** SystemCapability.PowerManager.PowerManager.Core
190
191**返回值:**
192
193| 类型                                 | 说明       |
194| ------------------------------------ | ---------- |
195| [DevicePowerMode](#devicepowermode9) | 电源模式。 |
196
197**错误码:**
198
199以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。
200
201| 错误码ID   | 错误信息    |
202|---------|---------|
203| 4900101 | If connecting to the service failed. |
204
205**示例:**
206
207```js
208try {
209    let mode = power.getPowerMode();
210    console.info('power mode: ' + mode);
211} catch(err) {
212    console.error('get power mode failed, err: ' + err);
213}
214```
215
216## power.setPowerMode<sup>9+</sup>
217
218setPowerMode(mode: DevicePowerMode, callback: AsyncCallback&lt;void&gt;): void
219
220设置当前设备的电源模式。使用callback异步回调。
221
222**系统接口:** 此接口为系统接口。
223
224**需要权限:** ohos.permission.POWER_OPTIMIZATION
225
226**系统能力:** SystemCapability.PowerManager.PowerManager.Core
227
228**参数:**
229
230| 参数名   | 类型                                 | 必填 | 说明                                                         |
231| -------- | ------------------------------------ | ---- | ------------------------------------------------------------ |
232| mode     | [DevicePowerMode](#devicepowermode9) | 是   | 电源模式。                                                   |
233| callback | AsyncCallback&lt;void&gt;            | 是   | 回调函数。当设置电源模式成功,err为undefined,否则为错误对象。 |
234
235**错误码:**
236
237以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。
238
239| 错误码ID   | 错误信息    |
240|---------|---------|
241| 4900101 | If connecting to the service failed. |
242
243**示例:**
244
245```js
246power.setPowerMode(power.DevicePowerMode.MODE_PERFORMANCE, (err: Error) => {
247    if (typeof err === 'undefined') {
248        console.info('set power mode to MODE_PERFORMANCE');
249    } else {
250        console.error('set power mode failed, err: ' + err);
251    }
252});
253```
254
255## power.setPowerMode<sup>9+</sup>
256
257setPowerMode(mode: DevicePowerMode): Promise&lt;void&gt;
258
259设置当前设备的电源模式。使用Promise异步回调。
260
261**系统接口:** 此接口为系统接口。
262
263**需要权限:** ohos.permission.POWER_OPTIMIZATION
264
265**系统能力:** SystemCapability.PowerManager.PowerManager.Core
266
267**参数:**
268
269| 参数名 | 类型                                 | 必填 | 说明       |
270| ------ | ------------------------------------ | ---- | ---------- |
271| mode   | [DevicePowerMode](#devicepowermode9) | 是   | 电源模式。 |
272
273**返回值:**
274
275| 类型                | 说明                                   |
276| ------------------- | -------------------------------------- |
277| Promise&lt;void&gt; | Promise对象。无返回结果的Promise对象。 |
278
279**错误码:**
280
281以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。
282
283| 错误码ID   | 错误信息    |
284|---------|---------|
285| 4900101 | If connecting to the service failed. |
286
287**示例:**
288
289```js
290power.setPowerMode(power.DevicePowerMode.MODE_PERFORMANCE)
291.then(() => {
292    console.info('set power mode to MODE_PERFORMANCE');
293})
294.catch((err : Error)=> {
295    console.error('set power mode failed, err: ' + err);
296});
297```
298
299## power.isStandby<sup>10+</sup>
300
301isStandby(): boolean
302
303检测当前设备是否进入待机低功耗续航模式。
304
305**系统能力:** SystemCapability.PowerManager.PowerManager.Core
306
307**返回值:**
308
309| 类型                | 说明                                   |
310| ------------------- | -------------------------------------- |
311| boolean | 进入待机模式返回true,否则返回false。 |
312
313**错误码:**
314
315以下错误码的详细介绍请参见[系统电源管理错误码](../errorcodes/errorcode-power.md)。
316
317| 错误码ID   | 错误信息    |
318|---------|---------|
319| 4900101 | If connecting to the service failed. |
320
321**示例:**
322
323```js
324try {
325    let isStandby = power.isStandby();
326    console.info('device is in standby: ' + isStandby);
327} catch(err) {
328    console.error('check isStandby failed, err: ' + err);
329}
330```
331
332## power.rebootDevice<sup>(deprecated)</sup>
333
334rebootDevice(reason: string): void
335
336> **说明:**<br>从API version 7开始支持,从API version 9开始不再维护。建议使用[power.reboot](#powerreboot9)替代,替代接口能力仅对系统应用开放。
337
338重启设备。
339
340**需要权限:** ohos.permission.REBOOT
341
342**系统能力:** SystemCapability.PowerManager.PowerManager.Core
343
344**参数:**
345
346| 参数名    | 类型     | 必填   | 说明    |
347| ------ | ------ | ---- | ----- |
348| reason | string | 是    | 重启原因。 |
349
350**示例:**
351
352```js
353power.rebootDevice('reboot_test');
354```
355
356## power.isScreenOn<sup>(deprecated)</sup>
357
358isScreenOn(callback: AsyncCallback&lt;boolean&gt;): void
359
360> **说明:**<br>从API version 9开始不再维护,建议使用[power.isActive](#powerisactive9)替代。
361
362检测当前设备的亮灭屏状态。使用callback异步回调。
363
364**系统能力:** SystemCapability.PowerManager.PowerManager.Core
365
366**参数:**
367
368| 参数名   | 类型                         | 必填 | 说明                                                         |
369| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
370| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。当检测成功,err为undefined,data为获取到的亮灭屏状态,返回true表示亮屏,返回false表示灭屏;否则为错误对象。 |
371
372**示例:**
373
374```js
375power.isScreenOn((err: Error, data: boolean) => {
376    if (typeof err === 'undefined') {
377        console.info('screen on status is ' + data);
378    } else {
379        console.error('check screen status failed, err: ' + err);
380    }
381})
382```
383
384## power.isScreenOn<sup>(deprecated)</sup>
385
386isScreenOn(): Promise&lt;boolean&gt;
387
388> **说明:**<br>从API version 9开始不再维护,建议使用[power.isActive](#powerisactive9)替代。
389
390检测当前设备的亮灭屏状态。使用Promise异步回调。
391
392**系统能力:** SystemCapability.PowerManager.PowerManager.Core
393
394**返回值:**
395| 类型                   | 说明                                               |
396| ---------------------- | -------------------------------------------------- |
397| Promise&lt;boolean&gt; | Promise对象。返回true表示亮屏;返回false表示灭屏。 |
398
399**示例:**
400
401```js
402power.isScreenOn()
403.then((data: boolean) => {
404    console.info('screen on status is ' + data);
405})
406.catch((err: { code: number, message: string }) => {
407    console.error('check screen status failed, err: ' + err);
408})
409```
410
411## DevicePowerMode<sup>9+</sup>
412
413表示电源模式的枚举值。
414
415**系统能力:** SystemCapability.PowerManager.PowerManager.Core
416
417| 名称                    | 值   | 说明                   |
418| ----------------------- | ---- | ---------------------- |
419| MODE_NORMAL             | 600  | 表示标准模式,默认值。 |
420| MODE_POWER_SAVE         | 601  | 表示省电模式。         |
421| MODE_PERFORMANCE        | 602  | 表示性能模式。         |
422| MODE_EXTREME_POWER_SAVE | 603  | 表示超级省电模式。     |
423