• 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    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&lt;void&gt;): 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&lt;void&gt;            | 是   | 回调函数。当设置电源模式成功,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&lt;void&gt;
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&lt;void&gt; | 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&lt;boolean&gt;): 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&lt;boolean&gt; | 是   | 回调函数。当检测成功,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&lt;boolean&gt;
347
348> **说明:**<br>从API version 9开始不再维护,建议使用[power.isActive](#powerisactive9)替代。
349
350检测当前设备的亮灭屏状态。使用Promise异步回调。
351
352**系统能力:** SystemCapability.PowerManager.PowerManager.Core
353
354**返回值:**
355| 类型                   | 说明                                               |
356| ---------------------- | -------------------------------------------------- |
357| Promise&lt;boolean&gt; | 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