js-apis-deviceUsageStatistics.md 20.5 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) => {
W
wyuanchao 已提交
49 50
        if(err.code === 0) {
            console.log('BUNDLE_ACTIVE isIdleState callback succeeded, result: ' + JSON.stringify(res));
W
wyuanchao 已提交
51
        } else {
W
wyuanchao 已提交
52
            console.log('BUNDLE_ACTIVE isIdleState callback failed, because: ' + err.code);
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

  ```
W
wyuanchao 已提交
80
    bundleState.isIdleState("com.ohos.camera").then( res => {
W
wyuanchao 已提交
81
        console.log('BUNDLE_ACTIVE isIdleState promise succeeded, result: ' + JSON.stringify(res));
W
wyuanchao 已提交
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) => {
W
wyuanchao 已提交
105 106
        if(err.code === 0) {
            console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res));
W
wyuanchao 已提交
107
        } else {
W
wyuanchao 已提交
108
            console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback failed. because: ' + err.code);
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

  ```
W
wyuanchao 已提交
130
    bundleState.queryAppUsagePriorityGroup().then( res => {
W
wyuanchao 已提交
131
        console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res));
W
wyuanchao 已提交
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 147
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

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

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

W
wyuanchao 已提交
155
**示例**
W
wyuanchao 已提交
156 157

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

W
wyuanchao 已提交
173
## bundleState.queryBundleStateInfos
W
wyuanchao 已提交
174 175 176 177 178

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

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

W
wyuanchao 已提交
179
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
180

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

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

N
nobbo 已提交
185 186 187 188
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
W
wyuanchao 已提交
189

W
wyuanchao 已提交
190
**返回值**
W
wyuanchao 已提交
191

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

W
wyuanchao 已提交
196
**示例**
W
wyuanchao 已提交
197 198

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

W
wyuanchao 已提交
212
## bundleState.queryBundleStateInfoByInterval
W
wyuanchao 已提交
213 214 215 216 217

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

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

W
wyuanchao 已提交
218
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
219

W
wyuanchao 已提交
220 221 222
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

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

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

W
wyuanchao 已提交
231
**示例**
W
wyuanchao 已提交
232 233

  ```
W
wyuanchao 已提交
234
    bundleState.queryBundleStateInfoByInterval(0, 0, 20000000000000, (err, res) => {
W
wyuanchao 已提交
235 236
        if(err.code == 0) {
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback success.');
W
wyuanchao 已提交
237
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
238 239
                console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
240 241
            }
        } else {
W
wyuanchao 已提交
242
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback failed, because: ' + err.code);
W
wyuanchao 已提交
243 244 245 246
        }
    });
  ```

W
wyuanchao 已提交
247
## bundleState.queryBundleStateInfoByInterval
W
wyuanchao 已提交
248 249 250 251 252

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

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

W
wyuanchao 已提交
253
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
254

W
wyuanchao 已提交
255 256 257
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

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

N
nobbo 已提交
259 260 261 262 263
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| byInterval | [IntervalType](#intervaltype) | 是 | 查询类型。|
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
W
wyuanchao 已提交
264

W
wyuanchao 已提交
265
**返回值**
W
wyuanchao 已提交
266

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

W
wyuanchao 已提交
271
**示例**
W
wyuanchao 已提交
272 273

  ```
W
wyuanchao 已提交
274
    bundleState.queryBundleStateInfoByInterval(0, 0, 20000000000000).then( res => {
W
wyuanchao 已提交
275
        console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise success.');
W
wyuanchao 已提交
276
        for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
277 278
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
279 280
        }
    }).catch( err => {
W
wyuanchao 已提交
281
        console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise failed, because: ' + err.code);
W
wyuanchao 已提交
282 283 284
    });
  ```

W
wyuanchao 已提交
285
## bundleState.queryBundleActiveStates
W
wyuanchao 已提交
286 287 288 289 290

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

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

W
wyuanchao 已提交
291
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
292

W
wyuanchao 已提交
293 294 295
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

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

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

W
wyuanchao 已提交
303
**示例**
W
wyuanchao 已提交
304 305

  ```
W
wyuanchao 已提交
306
    bundleState.queryBundleActiveStates(0, 20000000000000, (err, res) => {
W
wyuanchao 已提交
307 308
        if(err.code == 0) {
            console.log('BUNDLE_ACTIVE queryBundleActiveStates callback success.');
W
wyuanchao 已提交
309
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
310 311
                console.log('BUNDLE_ACTIVE queryBundleActiveStates callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryBundleActiveStates callback result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
312 313
            }
        } else {
W
wyuanchao 已提交
314
            console.log('BUNDLE_ACTIVE queryBundleActiveStates callback failed, because: ' + err.code);
W
wyuanchao 已提交
315 316 317 318
        }
    });
  ```

W
wyuanchao 已提交
319
## bundleState.queryBundleActiveStates
W
wyuanchao 已提交
320 321 322 323 324

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

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

W
wyuanchao 已提交
325
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
326

W
wyuanchao 已提交
327 328 329
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

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

N
nobbo 已提交
331 332 333 334
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
W
wyuanchao 已提交
335

W
wyuanchao 已提交
336
**返回值**
W
wyuanchao 已提交
337

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

W
wyuanchao 已提交
342
**示例**
W
wyuanchao 已提交
343 344

  ```
W
wyuanchao 已提交
345
    bundleState.queryBundleActiveStates(0, 20000000000000).then( res => {
W
wyuanchao 已提交
346
        console.log('BUNDLE_ACTIVE queryBundleActiveStates promise success.');
W
wyuanchao 已提交
347
        for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
348 349
            console.log('BUNDLE_ACTIVE queryBundleActiveStates promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE queryBundleActiveStates promise result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
350 351
        }
    }).catch( err => {
W
wyuanchao 已提交
352
        console.log('BUNDLE_ACTIVE queryBundleActiveStates promise failed, because: ' + err.code);
W
wyuanchao 已提交
353 354 355
    });
  ```

W
wyuanchao 已提交
356
## bundleState.queryCurrentBundleActiveStates
W
wyuanchao 已提交
357 358 359

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

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

W
wyuanchao 已提交
362 363 364
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

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

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

W
wyuanchao 已提交
372
**示例**
W
wyuanchao 已提交
373 374

  ```
W
wyuanchao 已提交
375
    bundleState.queryCurrentBundleActiveStates(0, 20000000000000, (err, res) => {
W
wyuanchao 已提交
376 377
        if(err.code == 0) {
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback success.');
W
wyuanchao 已提交
378
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
379 380 381
                console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback result ' + JSON.stringify(res[i]));
             }
W
wyuanchao 已提交
382
        } else {
W
wyuanchao 已提交
383
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback failed, because: ' + err.code);
W
wyuanchao 已提交
384 385 386 387
        }
    });
  ```

W
wyuanchao 已提交
388
## bundleState.queryCurrentBundleActiveStates
W
wyuanchao 已提交
389 390 391

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

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

W
wyuanchao 已提交
394 395 396
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

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

N
nobbo 已提交
398 399 400 401
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
W
wyuanchao 已提交
402

W
wyuanchao 已提交
403
**返回值**
W
wyuanchao 已提交
404

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

W
wyuanchao 已提交
409
**示例**
W
wyuanchao 已提交
410 411

  ```
W
wyuanchao 已提交
412
    bundleState.queryCurrentBundleActiveStates(0, 20000000000000).then( res => {
W
wyuanchao 已提交
413
        console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise success.');
W
wyuanchao 已提交
414
        for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
415 416
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
417 418
        }
    }).catch( err => {
W
wyuanchao 已提交
419
        console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise failed, because: ' + err.code);
W
wyuanchao 已提交
420 421 422
    });
  ```

W
wyuanchao 已提交
423 424
## BundleStateInfo
提供应用使用时长的具体信息。
W
wyuanchao 已提交
425

W
wyuanchao 已提交
426
### 属性
W
wyuanchao 已提交
427

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

W
wyuanchao 已提交
430 431 432 433 434
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。|
| abilityPrevAccessTime | number | 是 | 应用最后一次使用的时间。|
| abilityInFgTotalTime | number | 是 | 应用在前台使用的总时间。|
W
wyuanchao 已提交
435 436 437 438 439 440
| 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 已提交
441
| infosEndTime | number | 否 | BundleActiveInfo对象中最后一条应用使用统计的记录时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
W
wyuanchao 已提交
442

W
wyuanchao 已提交
443
### merge
W
wyuanchao 已提交
444

W
wyuanchao 已提交
445
merge(toMerge: BundleStateInfo): void
W
wyuanchao 已提交
446 447 448

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

W
wyuanchao 已提交
449
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
W
wyuanchao 已提交
450

W
wyuanchao 已提交
451 452 453 454
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**

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

W
wyuanchao 已提交
459
## BundleActiveState
W
wyuanchao 已提交
460

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

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

W
wyuanchao 已提交
465 466 467 468 469
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。|
| stateType | number | 是 | 应用事件类型。|
| stateOccurredTime | number | 是 | 应用事件发生的时间戳。|
W
wyuanchao 已提交
470 471 472
| 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 已提交
473

W
wyuanchao 已提交
474
## BundleActiveInfoResponse
W
wyuanchao 已提交
475

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

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

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

W
wyuanchao 已提交
484
## IntervalType
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
| BY_OPTIMIZED | 0 | 表示系统自行判断最合适的查询类型(天、周、月、年)去查询指定时间段间隔的应用使用时长信息。|
W
wyuanchao 已提交
493 494 495 496
| BY_DAILY | 1 | 表示系统按照天去查询指定时间段间隔的应用使用时长信息。|
| BY_WEEKLY | 2 | 表示系统按照周去查询指定时间段间隔的应用使用时长信息。|
| BY_MONTHLY | 3 | 表示系统按照月去查询指定时间段间隔的应用使用时长信息。|
| BY_ANNUALLY | 4 | 表示系统按照年去查询指定时间段间隔的应用使用时长信息。|