• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.batteryStatistics (耗电统计)
2
3该模块提供软硬件耗电统计信息的查询接口。
4
5> **说明:**
6>
7> - 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9> - 本模块接口为系统接口。
10
11## 导入模块
12
13```js
14import batteryStats from '@ohos.batteryStatistics';
15```
16
17## batteryStats.getBatteryStats
18
19getBatteryStats(): Promise<Array&lt;BatteryStatsInfo&gt;>
20
21获取耗电信息列表。使用Promise异步回调。
22
23**系统接口:** 此接口为系统接口。
24
25**系统能力:** SystemCapability.PowerManager.BatteryStatistics
26
27**返回值:**
28
29| 类型                                                  | 说明                            |
30| ----------------------------------------------------- | ------------------------------- |
31| Promise<Array<[BatteryStatsInfo](#batterystatsinfo)>> | Promise对象,返回耗电信息列表。 |
32
33**错误码:**
34
35以下错误码的详细介绍请参见[耗电统计错误码](../errorcodes/errorcode-batteryStatistics.md)。
36
37| 错误码ID   | 错误信息    |
38|---------|---------|
39| 4600101 | If connecting to the service failed. |
40
41**示例:**
42
43```js
44batteryStats.getBatteryStats()
45.then(data => {
46    console.info('battery statistics info: ' + data);
47})
48.catch(err => {
49    console.error('get battery statistics failed, err: ' + err);
50});
51```
52
53## batteryStats.getBatteryStats
54
55getBatteryStats(callback: AsyncCallback<Array&lt;BatteryStatsInfo&gt;>): void
56
57获取耗电信息列表。使用callback异步回调。
58
59**系统接口:** 此接口为系统接口。
60
61**系统能力:** SystemCapability.PowerManager.BatteryStatistics
62
63**参数:**
64
65| 参数名   | 类型                                                        | 必填 | 说明                                                         |
66| -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ |
67| callback | AsyncCallback<Array<[BatteryStatsInfo](#batterystatsinfo)>> | 是   | 回调函数。当获取耗电信息列表成功,err为undefined,data为获取到的Array<[BatteryStatsInfo](#batterystatsinfo)>>;否则为错误对象。 |
68
69**错误码:**
70
71以下错误码的详细介绍请参见[耗电统计错误码](../errorcodes/errorcode-batteryStatistics.md)。
72
73| 错误码ID   | 错误信息    |
74|---------|---------|
75| 4600101 | If connecting to the service failed. |
76
77**示例:**
78
79```js
80batteryStats.getBatteryStats((err, data) => {
81    if (typeof err === 'undefined') {
82        console.info('battery statistics info: ' + data);
83    } else {
84        console.error('get battery statistics failed, err: ' + err);
85    }
86});
87```
88
89## batteryStats.getAppPowerValue
90
91getAppPowerValue(uid: number): number
92
93获取应用的耗电量。
94
95**系统接口:** 此接口为系统接口。
96
97**系统能力:** SystemCapability.PowerManager.BatteryStatistics
98
99**参数:**
100
101| 参数名 | 类型   | 必填 | 说明        |
102| ------ | ------ | ---- | ----------- |
103| uid    | number | 是   | 应用的UID。 |
104
105**返回值:**
106
107| 类型   | 说明                              |
108| ------ | --------------------------------- |
109| number | UID对应应用的耗电量,单位毫安时。 |
110
111**错误码:**
112
113以下错误码的详细介绍请参见[耗电统计错误码](../errorcodes/errorcode-batteryStatistics.md)。
114
115| 错误码ID   | 错误信息    |
116|---------|---------|
117| 4600101 | If connecting to the service failed. |
118
119**示例:**
120
121```js
122try {
123    var value = batteryStats.getAppPowerValue(10021);
124    console.info('battery statistics value of app is: ' + value);
125} catch(err) {
126    console.error('get battery statistics value of app failed, err: ' + err);
127}
128```
129
130## batteryStats.getAppPowerPercent
131
132getAppPowerPercent(uid: number): number
133
134获取应用的耗电百分比。
135
136**系统接口:** 此接口为系统接口。
137
138**系统能力:** SystemCapability.PowerManager.BatteryStatistics
139
140**参数:**
141
142| 参数名 | 类型   | 必填 | 说明        |
143| ------ | ------ | ---- | ----------- |
144| uid    | number | 是   | 应用的UID。 |
145
146**返回值:**
147
148| 类型   | 说明                      |
149| ------ | ------------------------- |
150| number | UID对应应用的耗电百分比。 |
151
152**错误码:**
153
154以下错误码的详细介绍请参见[耗电统计错误码](../errorcodes/errorcode-batteryStatistics.md)。
155
156| 错误码ID   | 错误信息    |
157|---------|---------|
158| 4600101 | If connecting to the service failed. |
159
160**示例:**
161
162```js
163try {
164    var percent = batteryStats.getAppPowerPercent(10021);
165    console.info('battery statistics percent of app is: ' + percent);
166} catch(err) {
167    console.error('get battery statistics percent of app failed, err: ' + err);
168}
169```
170
171## batteryStats.getHardwareUnitPowerValue
172
173getHardwareUnitPowerValue(type: ConsumptionType): number
174
175根据耗电类型获取硬件单元的耗电量。
176
177**系统接口:** 此接口为系统接口。
178
179**系统能力:** SystemCapability.PowerManager.BatteryStatistics
180
181**参数:**
182
183| 参数名 | 类型                                | 必填 | 说明           |
184| ------ | ----------------------------------- | ---- | -------------- |
185| type   | [ConsumptionType](#consumptiontype) | 是   | 电量消耗类型。 |
186
187**返回值:**
188
189| 类型   | 说明                                       |
190| ------ | ------------------------------------------ |
191| number | 电量消耗类型对应硬件的耗电量,单位毫安时。 |
192
193**错误码:**
194
195以下错误码的详细介绍请参见[耗电统计错误码](../errorcodes/errorcode-batteryStatistics.md)。
196
197| 错误码ID   | 错误信息    |
198|---------|---------|
199| 4600101 | If connecting to the service failed. |
200
201**示例:**
202
203```js
204try {
205    var value = batteryStats.getHardwareUnitPowerValue(batteryStats.ConsumptionType.CONSUMPTION_TYPE_SCREEN);
206    console.info('battery statistics value of hardware is: ' + value);
207} catch(err) {
208    console.error('get battery statistics percent of hardware failed, err: ' + err);
209}
210```
211
212## batteryStats.getHardwareUnitPowerPercent
213
214getHardwareUnitPowerPercent(type: ConsumptionType): number
215
216根据耗电类型获取硬件单元的耗电百分比。
217
218**系统接口:** 此接口为系统接口。
219
220**系统能力:** SystemCapability.PowerManager.BatteryStatistics
221
222**参数:**
223
224| 参数名 | 类型                                | 必填 | 说明           |
225| ------ | ----------------------------------- | ---- | -------------- |
226| type   | [ConsumptionType](#consumptiontype) | 是   | 电量消耗类型。 |
227
228**返回值:**
229
230| 类型   | 说明                               |
231| ------ | ---------------------------------- |
232| number | 电量消耗类型对应硬件的耗电百分比。 |
233
234**错误码:**
235
236以下错误码的详细介绍请参见[耗电统计错误码](../errorcodes/errorcode-batteryStatistics.md)。
237
238| 错误码ID   | 错误信息    |
239|---------|---------|
240| 4600101 | If connecting to the service failed. |
241
242**示例:**
243
244```js
245try {
246    var percent = batteryStats.getHardwareUnitPowerPercent(batteryStats.ConsumptionType.CONSUMPTION_TYPE_SCREEN);
247    console.info('battery statistics percent of hardware is: ' + percent);
248} catch(err) {
249    console.error('get battery statistics percent of hardware failed, err: ' + err);
250}
251```
252
253## BatteryStatsInfo
254
255设备的耗电信息。
256
257**系统接口:** 此接口为系统接口。
258
259**系统能力:** SystemCapability.PowerManager.BatteryStatistics
260
261### 属性
262
263| 名称  | 类型                                | 可读 | 可写 | 说明                   |
264| ----- | ----------------------------------- | ---- | ---- | ---------------------- |
265| uid   | number                              | 是   | 否   | 耗电信息相关的UID。    |
266| type  | [ConsumptionType](#consumptiontype) | 是   | 否   | 耗电信息相关的类型。   |
267| power | number                              | 是   | 否   | 耗电的值,单位毫安时。 |
268
269## ConsumptionType
270
271表示电量消耗类型的枚举值。
272
273**系统接口:** 此接口为系统接口。
274
275**系统能力:** SystemCapability.PowerManager.BatteryStatistics
276
277| 名称                       | 值   | 说明                          |
278| -------------------------- | ---- | ----------------------------- |
279| CONSUMPTION_TYPE_INVALID   | -17  | 表示电量消耗类型未知。        |
280| CONSUMPTION_TYPE_APP       | -16  | 表示应用消耗的电量类型。      |
281| CONSUMPTION_TYPE_BLUETOOTH | -15  | 表示蓝牙消耗的电量类型。      |
282| CONSUMPTION_TYPE_IDLE      | -14  | 表示CPU空闲时消耗的电量类型。 |
283| CONSUMPTION_TYPE_PHONE     | -13  | 表示通话来电消耗的电量类型。  |
284| CONSUMPTION_TYPE_RADIO     | -12  | 表示无线通讯消耗的电量类型。  |
285| CONSUMPTION_TYPE_SCREEN    | -11  | 表示屏幕消耗的电量类型。      |
286| CONSUMPTION_TYPE_USER      | -10  | 表示用户消耗的电量类型。      |
287| CONSUMPTION_TYPE_WIFI      | -9   | 表示无线网消耗的电量类型。    |
288