js-apis-deviceUsageStatistics.md 20.8 KB
Newer Older
W
wyuanchao 已提交
1 2
# 设备使用信息统计

N
nobbo 已提交
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
本模块提供设备使用信息统计能力。

设备使用信息统计,系统应用可调用接口实现如下功能:

- 查询设备上各应用在不同时间段的使用时长、各应用的事件(前台、后台、长时任务开始、长时任务结束)信息及各应用的通知次数信息。
- 查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。
- 查询应用分组信息(指定应用和自身应用)。
- 查询应用空闲状态(指定应用和自身应用)。
- 设置应用分组信息(指定应用)。
- 注册和解除注册应用分组变化监听。

三方应用可调用接口实现如下功能:

- 查询应用空闲状态(仅限自身应用)。
- 查询应用分组信息(仅限自身应用)。
- 查询应用事件(仅限自身应用)。

W
wyuanchao 已提交
20 21 22 23 24 25 26
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块

```
W
wyuanchao 已提交
27
import bundleState from '@ohos.bundleState'
W
wyuanchao 已提交
28 29
```

W
wyuanchao 已提交
30
## bundleState.isIdleState
W
wyuanchao 已提交
31 32 33

isIdleState(bundleName: string, callback: AsyncCallback<boolean>): void

W
wyuanchao 已提交
34 35
判断指定bundleName的应用当前是否是空闲状态,使用Callback形式返回。

W
wyuanchao 已提交
36 37 38
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup

**参数**
W
wyuanchao 已提交
39

N
nobbo 已提交
40 41 42 43
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用的bundleName。|
| callback | AsyncCallback<boolean> | 是 | 指定的callback回调方法。如果指定的bundleName有效,则返回指定bundleName的应用当前是否是空闲状态;否则返回null。 |
W
wyuanchao 已提交
44

W
wyuanchao 已提交
45
**示例**
W
wyuanchao 已提交
46 47

  ```
W
wyuanchao 已提交
48
    bundleState.isIdleState("com.ohos.camera", (err, res) => {
N
nobbo 已提交
49
        if (err) {
W
wyuanchao 已提交
50
            console.log('BUNDLE_ACTIVE isIdleState callback failed, because: ' + err.code);
N
nobbo 已提交
51 52
        } else {
            console.log('BUNDLE_ACTIVE isIdleState callback succeeded, result: ' + JSON.stringify(res));
W
wyuanchao 已提交
53 54 55 56
        }
    });
  ```

W
wyuanchao 已提交
57
## bundleState.isIdleState
W
wyuanchao 已提交
58 59 60

isIdleState(bundleName: string): Promise<boolean>

W
wyuanchao 已提交
61 62
判断指定bundleName的应用当前是否是空闲状态,使用Promise形式返回。

W
wyuanchao 已提交
63 64 65
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup

**参数**
W
wyuanchao 已提交
66

N
nobbo 已提交
67 68 69
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用的bundleName。|
W
wyuanchao 已提交
70

W
wyuanchao 已提交
71
**返回值**
W
wyuanchao 已提交
72

N
nobbo 已提交
73 74 75
| 类型 | 说明 |
| -------- | -------- |
| Promise<boolean> | 指定的Promise回调方法。如果指定的bundleName有效,则返回指定bundleName的应用当前是否是空闲状态;否则返回null。 |
W
wyuanchao 已提交
76

W
wyuanchao 已提交
77
**示例**
W
wyuanchao 已提交
78 79

  ```
N
nobbo 已提交
80
    bundleState.isIdleState("com.ohos.camera").then(res => {
W
wyuanchao 已提交
81
        console.log('BUNDLE_ACTIVE isIdleState promise succeeded, result: ' + JSON.stringify(res));
N
nobbo 已提交
82
    }).catch(err => {
W
wyuanchao 已提交
83
        console.log('BUNDLE_ACTIVE isIdleState promise failed, because: ' + err.code);
W
wyuanchao 已提交
84 85 86
    });
  ```

W
wyuanchao 已提交
87
## bundleState.queryAppUsagePriorityGroup
W
wyuanchao 已提交
88 89 90

queryAppUsagePriorityGroup(callback: AsyncCallback<number>): void

W
wyuanchao 已提交
91 92
查询(返回)当前调用者应用的使用优先级群组,使用Callback形式返回。

W
wyuanchao 已提交
93 94 95
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup

**参数**
W
wyuanchao 已提交
96

N
nobbo 已提交
97 98 99
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback<number> | 是 | 指定的callback回调方法。返回当前调用者应用的使用优先级群组。|
W
wyuanchao 已提交
100

W
wyuanchao 已提交
101
**示例**
W
wyuanchao 已提交
102 103

  ```
W
wyuanchao 已提交
104
    bundleState.queryAppUsagePriorityGroup((err, res) => {
N
nobbo 已提交
105
        if (err) {
W
wyuanchao 已提交
106
            console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback failed. because: ' + err.code);
N
nobbo 已提交
107 108
        } else {
            console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res));
W
wyuanchao 已提交
109 110 111 112
        }
    });
  ```

W
wyuanchao 已提交
113
## bundleState.queryAppUsagePriorityGroup
W
wyuanchao 已提交
114 115 116

queryAppUsagePriorityGroup(): Promise<number>

W
wyuanchao 已提交
117 118
查询(返回)当前调用者应用的使用优先级群组,使用Promise形式返回。

W
wyuanchao 已提交
119 120 121
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup

**返回值**
W
wyuanchao 已提交
122

N
nobbo 已提交
123 124 125
| 类型 | 说明 |
| -------- | -------- |
| Promise<number> | 指定的Promise回调方法。查询(返回)当前调用者应用的使用优先级群组。|
W
wyuanchao 已提交
126

W
wyuanchao 已提交
127
**示例**
W
wyuanchao 已提交
128 129

  ```
N
nobbo 已提交
130
    bundleState.queryAppUsagePriorityGroup().then(res => {
W
wyuanchao 已提交
131
        console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res));
N
nobbo 已提交
132
    }).catch(err => {
W
wyuanchao 已提交
133
        console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise failed. because: ' + err.code);
W
wyuanchao 已提交
134 135 136
    });
  ```

W
wyuanchao 已提交
137
## bundleState.queryBundleStateInfos
W
wyuanchao 已提交
138 139 140 141 142

queryBundleStateInfos(begin: number, end: number, callback: AsyncCallback<BundleActiveInfoResponse>): void

通过指定起始和结束时间查询应用使用时长统计信息,使用Callback形式返回。

W
wyuanchao 已提交
143
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
144

W
wyuanchao 已提交
145 146
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

N
nobbo 已提交
147 148
**系统API**:此接口为系统接口,三方应用不支持调用。

W
wyuanchao 已提交
149
**参数**
W
wyuanchao 已提交
150

N
nobbo 已提交
151 152 153 154 155
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
| callback | AsyncCallback<[BundleActiveInfoResponse](#bundleactiveinforesponse)> | 是 | 指定的callback回调方法。返回指定起始和结束时间内应用使用时长统计信息。|
W
wyuanchao 已提交
156

W
wyuanchao 已提交
157
**示例**
W
wyuanchao 已提交
158 159

  ```
W
wyuanchao 已提交
160
    bundleState.queryBundleStateInfos(0, 20000000000000, (err, res) => {
N
nobbo 已提交
161
        if (err) {
N
nobbo 已提交
162 163
            console.log('BUNDLE_ACTIVE queryBundleStateInfos callback failed, because: ' + err.code);
        } else {
W
wyuanchao 已提交
164 165
            console.log('BUNDLE_ACTIVE queryBundleStateInfos callback success.');
            let i = 1;
N
nobbo 已提交
166
            for (let key in res) {
W
wyuanchao 已提交
167 168 169
                console.log('BUNDLE_ACTIVE queryBundleStateInfos callback number : ' + i);
                console.log('BUNDLE_ACTIVE queryBundleStateInfos callback result ' + JSON.stringify(res[key]));
                i++;
W
wyuanchao 已提交
170 171 172 173 174
            }
        }
    });
  ```

W
wyuanchao 已提交
175
## bundleState.queryBundleStateInfos
W
wyuanchao 已提交
176 177 178 179 180

queryBundleStateInfos(begin: number, end: number): Promise<BundleActiveInfoResponse>

通过指定起始和结束时间查询应用使用时长统计信息,使用Promise形式返回。

W
wyuanchao 已提交
181
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
182

W
wyuanchao 已提交
183 184
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

N
nobbo 已提交
185 186
**系统API**:此接口为系统接口,三方应用不支持调用。

W
wyuanchao 已提交
187
**参数**
W
wyuanchao 已提交
188

N
nobbo 已提交
189 190 191 192
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
W
wyuanchao 已提交
193

W
wyuanchao 已提交
194
**返回值**
W
wyuanchao 已提交
195

N
nobbo 已提交
196 197 198
| 类型 | 说明 |
| -------- | -------- |
| Promise<[BundleActiveInfoResponse](#bundleactiveinforesponse)> | 指定的Promise回调方法。返回指定起始和结束时间内应用使用时长统计信息。|
W
wyuanchao 已提交
199

W
wyuanchao 已提交
200
**示例**
W
wyuanchao 已提交
201 202

  ```
N
nobbo 已提交
203
    bundleState.queryBundleStateInfos(0, 20000000000000).then(res => {
W
wyuanchao 已提交
204 205
        console.log('BUNDLE_ACTIVE queryBundleStateInfos promise success.');
        let i = 1;
N
nobbo 已提交
206
        for (let key in res) {
W
wyuanchao 已提交
207 208 209
            console.log('BUNDLE_ACTIVE queryBundleStateInfos promise number : ' + i);
            console.log('BUNDLE_ACTIVE queryBundleStateInfos promise result ' + JSON.stringify(res[key]));
            i++;
W
wyuanchao 已提交
210
        }
N
nobbo 已提交
211
    }).catch(err => {
W
wyuanchao 已提交
212
        console.log('BUNDLE_ACTIVE queryBundleStateInfos promise failed, because: ' + err.code);
W
wyuanchao 已提交
213 214 215
    });
  ```

W
wyuanchao 已提交
216
## bundleState.queryBundleStateInfoByInterval
W
wyuanchao 已提交
217 218 219 220 221

queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number, callback: AsyncCallback<Array<BundleStateInfo>>): void

通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Callback形式返回。

W
wyuanchao 已提交
222
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
223

W
wyuanchao 已提交
224 225
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

N
nobbo 已提交
226 227
**系统API**:此接口为系统接口,三方应用不支持调用。

W
wyuanchao 已提交
228
**参数**
W
wyuanchao 已提交
229

N
nobbo 已提交
230 231 232 233 234 235
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| byInterval | [IntervalType](#intervaltype) | 是 | 查询类型。|
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
| callback | AsyncCallback<Array<[BundleStateInfo](#bundlestateinfo)>> | 是 | 指定的callback回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。|
W
wyuanchao 已提交
236

W
wyuanchao 已提交
237
**示例**
W
wyuanchao 已提交
238 239

  ```
W
wyuanchao 已提交
240
    bundleState.queryBundleStateInfoByInterval(0, 0, 20000000000000, (err, res) => {
N
nobbo 已提交
241
        if (err) {
N
nobbo 已提交
242 243
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback failed, because: ' + err.code);
        } else {
W
wyuanchao 已提交
244
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback success.');
W
wyuanchao 已提交
245
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
246 247
                console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
248 249 250 251 252
            }
        }
    });
  ```

W
wyuanchao 已提交
253
## bundleState.queryBundleStateInfoByInterval
W
wyuanchao 已提交
254 255 256 257 258

queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number): Promise&lt;Array&lt;BundleStateInfo&gt;&gt;

通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Promise形式返回。

W
wyuanchao 已提交
259
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
260

W
wyuanchao 已提交
261 262
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

N
nobbo 已提交
263 264
**系统API**:此接口为系统接口,三方应用不支持调用。

W
wyuanchao 已提交
265
**参数**
W
wyuanchao 已提交
266

N
nobbo 已提交
267 268 269 270 271
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| byInterval | [IntervalType](#intervaltype) | 是 | 查询类型。|
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
W
wyuanchao 已提交
272

W
wyuanchao 已提交
273
**返回值**
W
wyuanchao 已提交
274

N
nobbo 已提交
275 276 277
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[BundleStateInfo](#bundlestateinfo)&gt;&gt; | 指定的Promise回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。|
W
wyuanchao 已提交
278

W
wyuanchao 已提交
279
**示例**
W
wyuanchao 已提交
280 281

  ```
N
nobbo 已提交
282
    bundleState.queryBundleStateInfoByInterval(0, 0, 20000000000000).then(res => {
W
wyuanchao 已提交
283
        console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise success.');
W
wyuanchao 已提交
284
        for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
285 286
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
287
        }
N
nobbo 已提交
288
    }).catch(err => {
W
wyuanchao 已提交
289
        console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise failed, because: ' + err.code);
W
wyuanchao 已提交
290 291 292
    });
  ```

W
wyuanchao 已提交
293
## bundleState.queryBundleActiveStates
W
wyuanchao 已提交
294 295 296 297 298

queryBundleActiveStates(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleActiveState&gt;&gt;): void

通过指定起始和结束时间查询所有应用的事件集合,使用Callback形式返回。

W
wyuanchao 已提交
299
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
300

W
wyuanchao 已提交
301 302
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

N
nobbo 已提交
303 304
**系统API**:此接口为系统接口,三方应用不支持调用。

W
wyuanchao 已提交
305
**参数**
W
wyuanchao 已提交
306

N
nobbo 已提交
307 308 309 310 311
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
| callback | AsyncCallback&lt;Array&lt;[BundleActiveState](#bundleactivestate)&gt;&gt; | 是 | 指定的callback回调方法。返回指定起始和结束时间查询所有应用的事件集合。|
W
wyuanchao 已提交
312

W
wyuanchao 已提交
313
**示例**
W
wyuanchao 已提交
314 315

  ```
W
wyuanchao 已提交
316
    bundleState.queryBundleActiveStates(0, 20000000000000, (err, res) => {
N
nobbo 已提交
317
        if (err) {
N
nobbo 已提交
318 319
            console.log('BUNDLE_ACTIVE queryBundleActiveStates callback failed, because: ' + err.code);
        } else {
W
wyuanchao 已提交
320
            console.log('BUNDLE_ACTIVE queryBundleActiveStates callback success.');
W
wyuanchao 已提交
321
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
322 323
                console.log('BUNDLE_ACTIVE queryBundleActiveStates callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryBundleActiveStates callback result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
324 325 326 327 328
            }
        }
    });
  ```

W
wyuanchao 已提交
329
## bundleState.queryBundleActiveStates
W
wyuanchao 已提交
330 331 332 333 334

queryBundleActiveStates(begin: number, end: number): Promise&lt;Array&lt;BundleActiveState&gt;&gt;

通过指定起始和结束时间查询所有应用的事件集合,使用Promise形式返回。

W
wyuanchao 已提交
335
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
336

W
wyuanchao 已提交
337 338
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

N
nobbo 已提交
339 340
**系统API**:此接口为系统接口,三方应用不支持调用。

W
wyuanchao 已提交
341
**参数**
W
wyuanchao 已提交
342

N
nobbo 已提交
343 344 345 346
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
W
wyuanchao 已提交
347

W
wyuanchao 已提交
348
**返回值**
W
wyuanchao 已提交
349

N
nobbo 已提交
350 351 352
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[BundleActiveState](#bundleactivestate)&gt;&gt; | 指定的Promise回调方法。返回指定起始和结束时间查询所有应用的事件集合。|
W
wyuanchao 已提交
353

W
wyuanchao 已提交
354
**示例**
W
wyuanchao 已提交
355 356

  ```
N
nobbo 已提交
357
    bundleState.queryBundleActiveStates(0, 20000000000000).then(res => {
W
wyuanchao 已提交
358
        console.log('BUNDLE_ACTIVE queryBundleActiveStates promise success.');
W
wyuanchao 已提交
359
        for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
360 361
            console.log('BUNDLE_ACTIVE queryBundleActiveStates promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE queryBundleActiveStates promise result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
362
        }
N
nobbo 已提交
363
    }).catch(err => {
W
wyuanchao 已提交
364
        console.log('BUNDLE_ACTIVE queryBundleActiveStates promise failed, because: ' + err.code);
W
wyuanchao 已提交
365 366 367
    });
  ```

W
wyuanchao 已提交
368
## bundleState.queryCurrentBundleActiveStates
W
wyuanchao 已提交
369 370 371

queryCurrentBundleActiveStates(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleActiveState&gt;&gt;): void

W
wyuanchao 已提交
372 373
通过指定起始和结束时间查询当前应用的事件集合,使用Callback形式返回。

W
wyuanchao 已提交
374 375 376
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
377

N
nobbo 已提交
378 379 380 381 382
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
| callback | AsyncCallback&lt;Array&lt;[BundleActiveState](#bundleactivestate)&gt;&gt; | 是 | 指定的callback回调方法。返回指定起始和结束时间查询当前应用的事件集合。|
W
wyuanchao 已提交
383

W
wyuanchao 已提交
384
**示例**
W
wyuanchao 已提交
385 386

  ```
W
wyuanchao 已提交
387
    bundleState.queryCurrentBundleActiveStates(0, 20000000000000, (err, res) => {
N
nobbo 已提交
388
        if (err) {
N
nobbo 已提交
389 390
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback failed, because: ' + err.code);
        } else {
W
wyuanchao 已提交
391
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback success.');
W
wyuanchao 已提交
392
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
393 394 395
                console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback result ' + JSON.stringify(res[i]));
             }
W
wyuanchao 已提交
396 397 398 399
        }
    });
  ```

W
wyuanchao 已提交
400
## bundleState.queryCurrentBundleActiveStates
W
wyuanchao 已提交
401 402 403

queryCurrentBundleActiveStates(begin: number, end: number): Promise&lt;Array&lt;BundleActiveState&gt;&gt;

W
wyuanchao 已提交
404 405
通过指定起始和结束时间查询当前应用的事件集合,使用Promise形式返回。

W
wyuanchao 已提交
406 407 408
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
409

N
nobbo 已提交
410 411 412 413
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
W
wyuanchao 已提交
414

W
wyuanchao 已提交
415
**返回值**
W
wyuanchao 已提交
416

N
nobbo 已提交
417 418 419
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[BundleActiveState](#bundleactivestate)&gt;&gt; | 指定的Promise回调方法。返回指定起始和结束时间查询当前应用的事件集合。|
W
wyuanchao 已提交
420

W
wyuanchao 已提交
421
**示例**
W
wyuanchao 已提交
422 423

  ```
N
nobbo 已提交
424
    bundleState.queryCurrentBundleActiveStates(0, 20000000000000).then(res => {
W
wyuanchao 已提交
425
        console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise success.');
W
wyuanchao 已提交
426
        for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
427 428
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
429
        }
N
nobbo 已提交
430
    }).catch(err => {
W
wyuanchao 已提交
431
        console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise failed, because: ' + err.code);
W
wyuanchao 已提交
432 433 434
    });
  ```

W
wyuanchao 已提交
435 436
## BundleStateInfo
提供应用使用时长的具体信息。
W
wyuanchao 已提交
437

W
wyuanchao 已提交
438
### 属性
W
wyuanchao 已提交
439

W
wyuanchao 已提交
440
**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
W
wyuanchao 已提交
441

W
wyuanchao 已提交
442 443 444 445 446
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。|
| abilityPrevAccessTime | number | 是 | 应用最后一次使用的时间。|
| abilityInFgTotalTime | number | 是 | 应用在前台使用的总时间。|
W
wyuanchao 已提交
447 448 449 450 451 452
| id | number | 否 | 用户id。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| abilityPrevSeenTime | number | 否 | 应用最后一次在前台可见的时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| abilitySeenTotalTime | number | 否 | 应用在前台可见的总时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| fgAbilityAccessTotalTime | number | 否 | 应用访问前台的总时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| fgAbilityPrevAccessTime | number | 否 | 应用最后一次访问前台的时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| infosBeginTime | number | 否 | BundleActiveInfo对象中第一条应用使用统计的记录时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
W
wyuanchao 已提交
453
| infosEndTime | number | 否 | BundleActiveInfo对象中最后一条应用使用统计的记录时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
W
wyuanchao 已提交
454

W
wyuanchao 已提交
455
### merge
W
wyuanchao 已提交
456

W
wyuanchao 已提交
457
merge(toMerge: BundleStateInfo): void
W
wyuanchao 已提交
458 459 460

合并相同包名的应用使用信息。

W
wyuanchao 已提交
461 462 463 464
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**

N
nobbo 已提交
465 466 467
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| toMerge | [BundleStateInfo](#bundlestateinfo) | 是 | 相同包名的应用使用统计信息。|
W
wyuanchao 已提交
468

W
wyuanchao 已提交
469
## BundleActiveState
W
wyuanchao 已提交
470

W
wyuanchao 已提交
471
提供应用事件的具体信息。
W
wyuanchao 已提交
472

W
wyuanchao 已提交
473
**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
W
wyuanchao 已提交
474

W
wyuanchao 已提交
475 476 477 478 479
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。|
| stateType | number | 是 | 应用事件类型。|
| stateOccurredTime | number | 是 | 应用事件发生的时间戳。|
W
wyuanchao 已提交
480 481 482
| appUsagePriorityGroup | number | 否 | 应用程序的使用优先级组。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| indexOfLink | string | 否 | 快捷方式id。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| nameOfClass | string | 否 | 类名。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
W
wyuanchao 已提交
483

W
wyuanchao 已提交
484
## BundleActiveInfoResponse
W
wyuanchao 已提交
485

W
wyuanchao 已提交
486
提供应用使用时长的具体信息。
W
wyuanchao 已提交
487

W
wyuanchao 已提交
488
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
W
wyuanchao 已提交
489

W
wyuanchao 已提交
490 491
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
W
wyuanchao 已提交
492
| [key: string]: BundleStateInfo | [key: string]: [BundleStateInfo](#bundlestateinfo) | 是 | 不同应用的使用时长统计信息。|
W
wyuanchao 已提交
493

W
wyuanchao 已提交
494
## IntervalType
W
wyuanchao 已提交
495

W
wyuanchao 已提交
496
提供应用使用时长的查询类型。
W
wyuanchao 已提交
497

W
wyuanchao 已提交
498
**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
W
wyuanchao 已提交
499

W
wyuanchao 已提交
500 501
|名称    |默认值    |说明|
| -------- | -------- | -------- |
W
wyuanchao 已提交
502
| BY_OPTIMIZED | 0 | 表示系统自行判断最合适的查询类型(天、周、月、年)去查询指定时间段间隔的应用使用时长信息。|
W
wyuanchao 已提交
503 504 505 506
| BY_DAILY | 1 | 表示系统按照天去查询指定时间段间隔的应用使用时长信息。|
| BY_WEEKLY | 2 | 表示系统按照周去查询指定时间段间隔的应用使用时长信息。|
| BY_MONTHLY | 3 | 表示系统按照月去查询指定时间段间隔的应用使用时长信息。|
| BY_ANNUALLY | 4 | 表示系统按照年去查询指定时间段间隔的应用使用时长信息。|