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