• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.resourceschedule.usageStatistics (设备使用信息统计)
2
3本模块提供设备使用信息统计能力。
4
5设备使用信息统计,系统应用可调用接口实现如下功能:
6
7- 查询设备上各应用在不同时间段的使用时长、各应用的事件(前台、后台、长时任务开始、长时任务结束)信息及各应用的通知次数信息。
8- 查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。
9- 查询应用分组信息(其他应用和自身应用)。
10- 查询应用空闲状态(其他应用和自身应用)。
11- 设置应用分组信息(其他应用)。
12- 注册和解除注册应用分组变化监听。
13
14三方应用可调用接口实现如下功能:
15
16- 查询应用空闲状态(仅限自身应用)。
17- 查询应用分组信息(仅限自身应用)。
18- 查询应用事件(仅限自身应用)。
19
20> **说明:**
21>
22> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
23>
24
25
26## 导入模块
27
28```
29import usageStatistics from '@ohos.resourceschedule.usageStatistics'
30```
31
32## usageStatistics.isIdleState
33
34isIdleState(bundleName: string, callback: AsyncCallback<boolean>): void
35
36判断指定bundleName的应用当前是否是空闲状态,三方应用只能查询自身的空闲状态,使用Callback形式返回。
37
38**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
39
40**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
41
42**系统API**:此接口为系统接口。
43
44**参数**:
45
46| 参数名        | 类型                           | 必填   | 说明                                       |
47| ---------- | ---------------------------- | ---- | ---------------------------------------- |
48| bundleName | string                       | 是    | 应用的bundleName。                           |
49| callback   | AsyncCallback<boolean> | 是    | 指定的callback回调方法。如果指定的bundleName有效,则返回指定bundleName的应用当前是否是空闲状态;否则返回null。 |
50
51**错误码**:
52
53以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
54
55| 错误码ID        | 错误信息                     |
56| ---------- | ----------------------------     |
57| 10000001   | Memory operation failed.         |
58| 10000002   | Parcel operation failed.         |
59| 10000003   | System service operation failed. |
60| 10000004   | IPC failed.        |
61| 10000006   | Failed to get the application information.    |
62
63**示例**:
64  ```js
65    try{
66        usageStatistics.isIdleState("com.ohos.camera", (err, res) => {
67            if (err) {
68                console.log('BUNDLE_ACTIVE isIdleState callback failed. code is: ' + err.code + ',message is: ' + err.message);
69            } else {
70                console.log('BUNDLE_ACTIVE isIdleState callback succeeded, result: ' + JSON.stringify(res));
71            }
72        });
73    } catch(error) {
74        console.log('BUNDLE_ACTIVE isIdleState throw error, code is: ' + error.code + ',message is: ' + error.message);
75    }
76  ```
77
78## usageStatistics.isIdleState
79
80isIdleState(bundleName: string): Promise<boolean>
81
82判断指定bundleName的应用当前是否是空闲状态,三方应用只能查询自身的空闲状态,使用Promise形式返回。
83
84**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
85
86**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
87
88**系统API**:此接口为系统接口。
89
90**参数**:
91
92| 参数名        | 类型     | 必填   | 说明             |
93| ---------- | ------ | ---- | -------------- |
94| bundleName | string | 是    | 应用的bundleName。 |
95
96**返回值**:
97
98| 类型                     | 说明                                       |
99| ---------------------- | ---------------------------------------- |
100| Promise<boolean> | 指定的Promise回调方法。如果指定的bundleName有效,则返回指定bundleName的应用当前是否是空闲状态;否则返回null。 |
101
102**错误码**:
103
104以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
105
106| 错误码ID        | 错误信息                     |
107| ---------- | ----------------------------     |
108| 10000001   | Memory operation failed.         |
109| 10000002   | Parcel operation failed.         |
110| 10000003   | System service operation failed. |
111| 10000004   | IPC failed.        |
112| 10000006   | Failed to get the application information.     |
113
114**示例**:
115
116  ```js
117    try{
118        usageStatistics.isIdleState("com.ohos.camera").then( res => {
119            console.log('BUNDLE_ACTIVE isIdleState promise succeeded, result: ' + JSON.stringify(res));
120        }).catch( err => {
121            console.log('BUNDLE_ACTIVE isIdleState promise failed. code is: ' + err.code + ',message is: ' + err.message);
122        });
123    } catch (error) {
124        console.log('BUNDLE_ACTIVE isIdleState throw error, code is: ' + error.code + ',message is: ' + error.message);
125    }
126  ```
127
128## usageStatistics.queryAppGroup
129
130queryAppGroup(): Promise<number>
131
132查询当前应用的优先级分组。使用Promise形式返回其应用分组。
133
134**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
135
136**系统API**:此接口为系统接口。
137
138**返回值**:
139
140| 类型              | 说明                          |
141| --------------- | --------------------------- |
142| Promise<number> | 指定的Promise回调方法。返回查询的应用分组结果。 |
143
144**错误码**:
145
146以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
147
148| 错误码ID        | 错误信息                       |
149| ---------- | ----------------------------       |
150| 10000001   | Memory operation failed.           |
151| 10000002   | Parcel operation failed.           |
152| 10000003   | System service operation failed.   |
153| 10000004   | IPC failed.          |
154| 10000005   | Application is not installed.      |
155| 10000006   | Failed to get the application information.       |
156| 10100002   | Failed to get the application group information. |
157
158**示例**:
159
160```javascript
161    try{
162        usageStatistics.queryAppGroup().then( res => {
163            console.log('BUNDLE_ACTIVE queryAppGroup promise succeeded. result: ' + JSON.stringify(res));
164        }).catch( err => {
165            console.log('BUNDLE_ACTIVE queryAppGroup promise failed. code is: ' + err.code + ',message is: ' + err.message);
166        });
167    } catch (error) {
168        console.log('BUNDLE_ACTIVE queryAppGroup throw error, code is: ' + error.code + ',message is: ' + error.message);
169    }
170```
171
172## usageStatistics.queryAppGroup
173
174queryAppGroup(callback: AsyncCallback<number>): void
175
176查询当前应用的优先级分组。使用callback形式返回其应用分组。
177
178**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
179
180**系统API**:此接口为系统接口。
181
182**参数**:
183
184| 参数名      | 类型                    | 必填   | 说明                         |
185| -------- | --------------------- | ---- | -------------------------- |
186| callback | AsyncCallback<number> | 是    | 指定的CallBack回调方法。返回查询的应用分组。 |
187
188**错误码**:
189
190以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
191
192| 错误码ID        | 错误信息                       |
193| ---------- | ----------------------------       |
194| 10000001   | Memory operation failed.           |
195| 10000002   | Parcel operation failed.           |
196| 10000003   | System service operation failed.   |
197| 10000004   | IPC failed.          |
198| 10000005   | Application is not installed.      |
199| 10000006   | Failed to get the application information.       |
200| 10100002   | Failed to get the application group information. |
201
202**示例**:
203
204```javascript
205    try{
206        usageStatistics.queryAppGroup((err, res) => {
207            if(err) {
208                console.log('BUNDLE_ACTIVE queryAppGroup callback failed. code is: ' + err.code + ',message is: ' + err.message);
209            } else {
210                console.log('BUNDLE_ACTIVE queryAppGroup callback succeeded. result: ' + JSON.stringify(res));
211            }
212        });
213    } catch (error) {
214        console.log('BUNDLE_ACTIVE queryAppGroup throw error, code is: ' + error.code + ',message is: ' + error.message);
215    }
216```
217
218## usageStatistics.queryBundleStatsInfos
219
220queryBundleStatsInfos(begin: number, end: number, callback: AsyncCallback<BundleStatsMap>): void
221
222通过指定起始和结束时间查询应用使用时长统计信息,使用Callback形式返回。
223
224**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
225
226**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
227
228**系统API**:此接口为系统接口。
229
230**参数**:
231
232| 参数名      | 类型                                       | 必填   | 说明                                      |
233| -------- | ---------------------------------------- | ---- | --------------------------------------- |
234| begin    | number                                   | 是    | 起始时间,以毫秒为单位。                                   |
235| end      | number                                   | 是    | 结束时间,以毫秒为单位。                                   |
236| callback | AsyncCallback<[BundleStatsMap](#bundlestatsmap)> | 是    | 指定的callback回调方法。返回指定起始和结束时间内应用使用时长统计信息。 |
237
238**错误码**:
239
240以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
241
242| 错误码ID        | 错误信息                       |
243| ---------- | ----------------------------       |
244| 10000001   | Memory operation failed.           |
245| 10000002   | Parcel operation failed.           |
246| 10000003   | System service operation failed.   |
247| 10000004   | IPC failed.          |
248| 10000006   | Failed to get the application information.       |
249| 10000007   | Failed to get the system time.  |
250
251**示例**:
252
253  ```js
254    try{
255        usageStatistics.queryBundleStatsInfos(0, 20000000000000, (err, res) => {
256            if (err) {
257                console.log('BUNDLE_ACTIVE queryBundleStatsInfos callback failed. code is: ' + err.code + ',message is: ' + err.message);
258            } else {
259                console.log('BUNDLE_ACTIVE queryBundleStatsInfos callback success.');
260                let i = 1;
261                for(let key in res){
262                    console.log('BUNDLE_ACTIVE queryBundleStatsInfos callback number : ' + i);
263                    console.log('BUNDLE_ACTIVE queryBundleStatsInfos callback result ' + JSON.stringify(res[key]));
264                    i++;
265                }
266            }
267        });
268    } catch (error) {
269        console.log('BUNDLE_ACTIVE queryBundleStatsInfos throw error, code is: ' + error.code + ',message is: ' + error.message);
270    }
271  ```
272
273## usageStatistics.queryBundleStatsInfos
274
275queryBundleStatsInfos(begin: number, end: number): Promise<BundleStatsMap>
276
277通过指定起始和结束时间查询应用使用时长统计信息,使用Promise形式返回。
278
279**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
280
281**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
282
283**系统API**:此接口为系统接口。
284
285**参数**:
286
287| 参数名   | 类型     | 必填   | 说明    |
288| ----- | ------ | ---- | ----- |
289| begin | number | 是    | 起始时间,以毫秒为单位。 |
290| end   | number | 是    | 结束时间,以毫秒为单位。 |
291
292**返回值**:
293
294| 类型                                       | 说明                                     |
295| ---------------------------------------- | -------------------------------------- |
296| Promise<[BundleStatsMap](#bundlestatsmap)> | 指定的Promise回调方法。返回指定起始和结束时间内应用使用时长统计信息。 |
297
298**错误码**:
299
300以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
301
302| 错误码ID        | 错误信息                       |
303| ---------- | ----------------------------       |
304| 10000001   | Memory operation failed.           |
305| 10000002   | Parcel operation failed.           |
306| 10000003   | System service operation failed.   |
307| 10000004   | IPC failed.          |
308| 10000006   | Failed to get the application information.       |
309| 10000007   | Failed to get the system time.  |
310
311**示例**:
312
313  ```js
314    try{
315        usageStatistics.queryBundleStatsInfos(0, 20000000000000).then( res => {
316            console.log('BUNDLE_ACTIVE queryBundleStatsInfos promise success.');
317            let i = 1;
318            for(let key in res){
319                console.log('BUNDLE_ACTIVE queryBundleStatsInfos promise number : ' + i);
320                console.log('BUNDLE_ACTIVE queryBundleStatsInfos promise result ' + JSON.stringify(res[key]));
321                i++;
322            }
323        }).catch( err => {
324            console.log('BUNDLE_ACTIVE queryBundleStatsInfos promise failed. code is: ' + err.code + ',message is: ' + err.message);
325        });
326    } catch (error) {
327        console.log('BUNDLE_ACTIVE queryBundleStatsInfos throw error, code is: ' + error.code + ',message is: ' + error.message);
328    }
329  ```
330
331## usageStatistics.queryBundleStatsInfoByInterval
332
333queryBundleStatsInfoByInterval(byInterval: IntervalType, begin: number, end: number, callback: AsyncCallback<Array<BundleStatsInfo>>): void
334
335通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Callback形式返回。
336
337**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
338
339**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
340
341**系统API**:此接口为系统接口。
342
343**参数**:
344
345| 参数名        | 类型                                       | 必填   | 说明                                       |
346| ---------- | ---------------------------------------- | ---- | ---------------------------------------- |
347| byInterval | [IntervalType](#intervaltype)            | 是    | 查询类型。                                    |
348| begin      | number                                   | 是    | 起始时间,以毫秒为单位。                                    |
349| end        | number                                   | 是    | 结束时间,以毫秒为单位。                                    |
350| callback   | AsyncCallback<Array<[BundleStatsInfo](#bundlestatsinfo)>> | 是    | 指定的callback回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。 |
351
352**错误码**:
353
354以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
355
356| 错误码ID        | 错误信息                       |
357| ---------- | ----------------------------       |
358| 10000001   | Memory operation failed.           |
359| 10000002   | Parcel operation failed.           |
360| 10000003   | System service operation failed.   |
361| 10000004   | IPC failed.          |
362| 10000006   | Failed to get the application information.       |
363| 10000007   | Failed to get the system time.  |
364
365**示例**:
366
367  ```js
368    try{
369        usageStatistics.queryBundleStatsInfoByInterval(0, 0, 20000000000000, (err, res) => {
370            if (err) {
371                console.log('BUNDLE_ACTIVE queryBundleStatsInfoByInterval callback failed. code is: ' + err.code + ',message is: ' + err.message);
372            } else {
373                console.log('BUNDLE_ACTIVE queryBundleStatsInfoByInterval callback success.');
374                for (let i = 0; i < res.length; i++) {
375                    console.log('BUNDLE_ACTIVE queryBundleStatsInfoByInterval callback number : ' + (i + 1));
376                    console.log('BUNDLE_ACTIVE queryBundleStatsInfoByInterval callback result ' + JSON.stringify(res[i]));
377                }
378            }
379        });
380    } catch (error) {
381        console.log('BUNDLE_ACTIVE queryBundleStatsInfoByInterval throw error, code is: ' + error.code + ',message is: ' + error.message);
382    }
383  ```
384
385## usageStatistics.queryBundleStatsInfoByInterval
386
387queryBundleStatsInfoByInterval(byInterval: IntervalType, begin: number, end: number): Promise&lt;Array&lt;BundleStatsInfo&gt;&gt;
388
389通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Promise形式返回。
390
391**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
392
393**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
394
395**系统API**:此接口为系统接口。
396
397**参数**:
398
399| 参数名        | 类型                            | 必填   | 说明    |
400| ---------- | ----------------------------- | ---- | ----- |
401| byInterval | [IntervalType](#intervaltype) | 是    | 查询类型。 |
402| begin      | number                        | 是    | 起始时间,以毫秒为单位。 |
403| end        | number                        | 是    | 结束时间,以毫秒为单位。 |
404
405**返回值**:
406
407| 类型                                       | 说明                                       |
408| ---------------------------------------- | ---------------------------------------- |
409| Promise&lt;Array&lt;[BundleStatsInfo](#bundlestatsinfo)&gt;&gt; | 指定的Promise回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。 |
410
411**错误码**:
412
413以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
414
415| 错误码ID        | 错误信息                       |
416| ---------- | ----------------------------       |
417| 10000001   | Memory operation failed.           |
418| 10000002   | Parcel operation failed.           |
419| 10000003   | System service operation failed.   |
420| 10000004   | IPC failed.          |
421| 10000006   | Failed to get the application information.       |
422| 10000007   | Failed to get the system time.  |
423
424**示例**:
425
426  ```js
427    try{
428        usageStatistics.queryBundleStatsInfoByInterval(0, 0, 20000000000000).then( res => {
429            console.log('BUNDLE_ACTIVE queryBundleStatsInfoByInterval promise success.');
430            for (let i = 0; i < res.length; i++) {
431                console.log('BUNDLE_ACTIVE queryBundleStatsInfoByInterval promise number : ' + (i + 1));
432                console.log('BUNDLE_ACTIVE queryBundleStatsInfoByInterval promise result ' + JSON.stringify(res[i]));
433            }
434        }).catch( err => {
435            console.log('BUNDLE_ACTIVE queryBundleStatsInfoByInterval promise failed. code is: ' + err.code + ',message is: ' + err.message);
436        });
437    } catch (error) {
438        console.log('BUNDLE_ACTIVE queryBundleStatsInfoByInterval throw error, code is: ' + error.code + ',message is: ' + error.message);
439    }
440  ```
441
442## usageStatistics.queryBundleEvents
443
444queryBundleEvents(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleEvents&gt;&gt;): void
445
446通过指定起始和结束时间查询所有应用的事件集合,使用Callback形式返回。
447
448**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
449
450**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
451
452**系统API**:此接口为系统接口。
453
454**参数**:
455
456| 参数名      | 类型                                       | 必填   | 说明                                      |
457| -------- | ---------------------------------------- | ---- | --------------------------------------- |
458| begin    | number                                   | 是    | 起始时间,以毫秒为单位。                                   |
459| end      | number                                   | 是    | 结束时间,以毫秒为单位。                                   |
460| callback | AsyncCallback&lt;Array&lt;[BundleEvents](#bundleevents)&gt;&gt; | 是    | 指定的callback回调方法。返回指定起始和结束时间查询所有应用的事件集合。 |
461
462**错误码**:
463
464以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
465
466| 错误码ID        | 错误信息                       |
467| ---------- | ----------------------------       |
468| 10000001   | Memory operation failed.           |
469| 10000002   | Parcel operation failed.           |
470| 10000003   | System service operation failed.   |
471| 10000004   | IPC failed.          |
472| 10000006   | Failed to get the application information.       |
473| 10000007   | Failed to get the system time.  |
474
475**示例**:
476
477  ```js
478    try{
479        usageStatistics.queryBundleEvents(0, 20000000000000, (err, res) => {
480            if (err) {
481                console.log('BUNDLE_ACTIVE queryBundleEvents callback failed. code is: ' + err.code + ',message is: ' + err.message);
482            } else {
483                console.log('BUNDLE_ACTIVE queryBundleEvents callback success.');
484                for (let i = 0; i < res.length; i++) {
485                    console.log('BUNDLE_ACTIVE queryBundleEvents callback number : ' + (i + 1));
486                    console.log('BUNDLE_ACTIVE queryBundleEvents callback result ' + JSON.stringify(res[i]));
487                }
488            }
489        });
490    } catch (error) {
491        console.log('BUNDLE_ACTIVE queryBundleEvents throw error, code is: ' + error.code + ',message is: ' + error.message);
492    }
493  ```
494
495## usageStatistics.queryBundleEvents
496
497queryBundleEvents(begin: number, end: number): Promise&lt;Array&lt;BundleEvents&gt;&gt;
498
499通过指定起始和结束时间查询所有应用的事件集合,使用Promise形式返回。
500
501**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
502
503**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
504
505**系统API**:此接口为系统接口。
506
507**参数**:
508
509| 参数名   | 类型     | 必填   | 说明    |
510| ----- | ------ | ---- | ----- |
511| begin | number | 是    | 起始时间,以毫秒为单位。 |
512| end   | number | 是    | 结束时间,以毫秒为单位。 |
513
514**返回值**:
515
516| 类型                                       | 说明                                     |
517| ---------------------------------------- | -------------------------------------- |
518| Promise&lt;Array&lt;[BundleEvents](#bundleevents)&gt;&gt; | 指定的Promise回调方法。返回指定起始和结束时间查询所有应用的事件集合。 |
519
520**错误码**:
521
522以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
523
524| 错误码ID        | 错误信息                       |
525| ---------- | ----------------------------       |
526| 10000001   | Memory operation failed.           |
527| 10000002   | Parcel operation failed.           |
528| 10000003   | System service operation failed.   |
529| 10000004   | IPC failed.          |
530| 10000006   | Failed to get the application information.       |
531| 10000007   | Failed to get the system time.  |
532
533**示例**:
534
535  ```js
536    try{
537        usageStatistics.queryBundleEvents(0, 20000000000000).then( res => {
538            console.log('BUNDLE_ACTIVE queryBundleEvents promise success.');
539            for (let i = 0; i < res.length; i++) {
540                console.log('BUNDLE_ACTIVE queryBundleEvents promise number : ' + (i + 1));
541                console.log('BUNDLE_ACTIVE queryBundleEvents promise result ' + JSON.stringify(res[i]));
542            }
543        }).catch( err => {
544            console.log('BUNDLE_ACTIVE queryBundleEvents promise failed. code is: ' + err.code + ',message is: ' + err.message);
545        });
546    } catch (error) {
547        console.log('BUNDLE_ACTIVE queryBundleEvents throw error, code is: ' + error.code + ',message is: ' + error.message);
548    }
549  ```
550
551## usageStatistics.queryCurrentBundleEvents
552
553queryCurrentBundleEvents(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleEvents&gt;&gt;): void
554
555通过指定起始和结束时间查询当前应用的事件集合,使用Callback形式返回。
556
557**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
558
559**系统API**:此接口为系统接口。
560
561**参数**:
562
563| 参数名      | 类型                                       | 必填   | 说明                                      |
564| -------- | ---------------------------------------- | ---- | --------------------------------------- |
565| begin    | number                                   | 是    | 起始时间,以毫秒为单位。                                   |
566| end      | number                                   | 是    | 结束时间,以毫秒为单位。                                   |
567| callback | AsyncCallback&lt;Array&lt;[BundleEvents](#bundleevents)&gt;&gt; | 是    | 指定的callback回调方法。返回指定起始和结束时间查询当前应用的事件集合。 |
568
569**错误码**:
570
571以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
572
573| 错误码ID        | 错误信息                       |
574| ---------- | ----------------------------       |
575| 10000001   | Memory operation failed.           |
576| 10000002   | Parcel operation failed.           |
577| 10000003   | System service operation failed.   |
578| 10000004   | IPC failed.          |
579| 10000006   | Failed to get the application information.       |
580| 10000007   | Failed to get the system time.  |
581
582**示例**:
583
584  ```js
585    try{
586        usageStatistics.queryCurrentBundleEvents(0, 20000000000000, (err, res) => {
587            if (err) {
588                console.log('BUNDLE_ACTIVE queryCurrentBundleEvents callback failed. code is: ' + err.code + ',message is: ' + err.message);
589            } else {
590                console.log('BUNDLE_ACTIVE queryCurrentBundleEvents callback success.');
591                for (let i = 0; i < res.length; i++) {
592                    console.log('BUNDLE_ACTIVE queryCurrentBundleEvents callback number : ' + (i + 1));
593                    console.log('BUNDLE_ACTIVE queryCurrentBundleEvents callback result ' + JSON.stringify(res[i]));
594                }
595            }
596        });
597    } catch (error) {
598        console.log('BUNDLE_ACTIVE queryCurrentBundleEvents throw error, code is: ' + error.code + ',message is: ' + error.message);
599    }
600  ```
601
602## usageStatistics.queryCurrentBundleEvents
603
604queryCurrentBundleEvents(begin: number, end: number): Promise&lt;Array&lt;BundleEvents&gt;&gt;
605
606通过指定起始和结束时间查询当前应用的事件集合,使用Promise形式返回。
607
608**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
609
610**系统API**:此接口为系统接口。
611
612**参数**:
613
614| 参数名   | 类型     | 必填   | 说明    |
615| ----- | ------ | ---- | ----- |
616| begin | number | 是    | 起始时间,以毫秒为单位。 |
617| end   | number | 是    | 结束时间,以毫秒为单位。 |
618
619**返回值**:
620
621| 类型                                       | 说明                                     |
622| ---------------------------------------- | -------------------------------------- |
623| Promise&lt;Array&lt;[BundleEvents](#bundleevents)&gt;&gt; | 指定的Promise回调方法。返回指定起始和结束时间查询当前应用的事件集合。 |
624
625**错误码**:
626
627以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
628
629| 错误码ID        | 错误信息                       |
630| ---------- | ----------------------------       |
631| 10000001   | Memory operation failed.           |
632| 10000002   | Parcel operation failed.           |
633| 10000003   | System service operation failed.   |
634| 10000004   | IPC failed.          |
635| 10000006   | Failed to get the application information.      |
636| 10000007   | Failed to get the system time.  |
637
638**示例**:
639
640  ```js
641    try{
642        usageStatistics.queryCurrentBundleEvents(0, 20000000000000).then( res => {
643            console.log('BUNDLE_ACTIVE queryCurrentBundleEvents promise success.');
644            for (let i = 0; i < res.length; i++) {
645                console.log('BUNDLE_ACTIVE queryCurrentBundleEvents promise number : ' + (i + 1));
646                console.log('BUNDLE_ACTIVE queryCurrentBundleEvents promise result ' + JSON.stringify(res[i]));
647            }
648        }).catch( err => {
649            console.log('BUNDLE_ACTIVE queryCurrentBundleEvents promise failed. code is: ' + err.code + ',message is: ' + err.message);
650        });
651    } catch (error) {
652        console.log('BUNDLE_ACTIVE queryCurrentBundleEvents throw error, code is: ' + error.code + ',message is: ' + error.message);
653    }
654  ```
655
656## usageStatistics.queryModuleUsageRecords
657
658queryModuleUsageRecords(): Promise&lt;Array&lt;HapModuleInfo&gt;&gt;
659
660使用Promise形式返回不超过1000条FA使用记录,FA使用记录由近及远排序。
661
662**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
663
664**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
665
666**系统API**:此接口为系统接口。
667
668**返回值**:
669
670| 类型                                       | 说明                                 |
671| ---------------------------------------- | ---------------------------------- |
672| Promise&lt;Array&lt;[HapModuleInfo](#hapmoduleinfo)&gt;&gt; | 指定的Promise回调方法。返回不超过1000条FA使用记录。 |
673
674**错误码**:
675
676以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
677
678| 错误码ID        | 错误信息                       |
679| ---------- | ----------------------------       |
680| 10000001   | Memory operation failed.           |
681| 10000002   | Parcel operation failed.           |
682| 10000003   | System service operation failed.   |
683| 10000004   | IPC failed.          |
684| 10000006   | Failed to get the application information.       |
685| 10000007   | Failed to get the system time.  |
686
687**示例**:
688
689  ```js
690    // 无maxNum参数调用方式
691    try{
692        usageStatistics.queryModuleUsageRecords().then( res => {
693            console.log('BUNDLE_ACTIVE queryModuleUsageRecords promise succeeded');
694            for (let i = 0; i < res.length; i++) {
695                console.log('BUNDLE_ACTIVE queryModuleUsageRecords promise number : ' + (i + 1));
696                console.log('BUNDLE_ACTIVE queryModuleUsageRecords promise result ' + JSON.stringify(res[i]));
697            }
698        }).catch( err=> {
699            console.log('BUNDLE_ACTIVE queryModuleUsageRecords promise failed. code is: ' + err.code + ',message is: ' + err.message);
700        });
701    } catch (error) {
702        console.log('BUNDLE_ACTIVE queryModuleUsageRecords throw error, code is: ' + error.code + ',message is: ' + error.message);
703    }
704  ```
705
706## usageStatistics.queryModuleUsageRecords
707
708queryModuleUsageRecords(callback: AsyncCallback&lt;Array&lt;HapModuleInfo&gt;&gt;): void
709
710查询FA使用记录。使用CallBack形式返回数量不超过1000条FA使用记录(FA记录按时间由近及远排序)。
711
712**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
713
714**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
715
716**系统API**:此接口为系统接口。
717
718**参数**:
719
720| 参数名      | 类型                                       | 必填   | 说明                                  |
721| -------- | ---------------------------------------- | ---- | ----------------------------------- |
722| callback | AsyncCallback&lt;Array&lt;[HapModuleInfo](#hapmoduleinfo)&gt;&gt; | 是    | 指定的CallBack回调方法。返回不超过maxNum条FA使用记录。 |
723
724**错误码**:
725
726以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
727
728| 错误码ID        | 错误信息                       |
729| ---------- | ----------------------------       |
730| 10000001   | Memory operation failed.           |
731| 10000002   | Parcel operation failed.           |
732| 10000003   | System service operation failed.   |
733| 10000004   | IPC failed.          |
734| 10000006   | Failed to get the application information.       |
735| 10000007   | Failed to get the system time.  |
736
737**示例**:
738
739  ```js
740    try{
741        usageStatistics.queryModuleUsageRecords((err, res) => {
742        if(err) {
743            console.log('BUNDLE_ACTIVE queryModuleUsageRecords callback failed. code is: ' + err.code + ',message is: ' + err.message);
744        } else {
745            console.log('BUNDLE_ACTIVE queryModuleUsageRecords callback succeeded.');
746            for (let i = 0; i < res.length; i++) {
747            console.log('BUNDLE_ACTIVE queryModuleUsageRecords callback number : ' + (i + 1));
748            console.log('BUNDLE_ACTIVE queryModuleUsageRecords callback result ' + JSON.stringify(res[i]));
749            }
750        }
751        });
752    } catch (error) {
753        console.log('BUNDLE_ACTIVE queryModuleUsageRecords throw error, code is: ' + error.code + ',message is: ' + error.message);
754    }
755  ```
756
757## usageStatistics.queryModuleUsageRecords
758
759queryModuleUsageRecords(maxNum: number): Promise&lt;Array&lt;HapModuleInfo&gt;&gt;
760
761据maxNum,查询FA使用记录,使用Promise形式返回不超过maxNum条FA使用记录,FA使用记录由近及远排序,maxNum最大为1000。
762
763**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
764
765**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
766
767**系统API**:此接口为系统接口。
768
769**参数**:
770
771| 参数名    | 类型     | 必填   | 说明                                 |
772| ------ | ------ | ---- | ---------------------------------- |
773| maxNum | number | 是    | 返回条目的最大数量,最多支持1000条。 |
774
775**返回值**:
776
777| 类型                                       | 说明                                 |
778| ---------------------------------------- | ---------------------------------- |
779| Promise&lt;Array&lt;[HapModuleInfo](#hapmoduleinfo)&gt;&gt; | 指定的Promise回调方法。返回不超过maxNum条FA使用记录。 |
780
781**错误码**:
782
783以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
784
785| 错误码ID        | 错误信息                       |
786| ---------- | ----------------------------       |
787| 10000001   | Memory operation failed.           |
788| 10000002   | Parcel operation failed.           |
789| 10000003   | System service operation failed.   |
790| 10000004   | IPC failed.          |
791| 10000006   | Failed to get the application information.       |
792| 10000007   | Failed to get the system time.  |
793
794**示例**:
795
796  ```js
797    try{
798        usageStatistics.queryModuleUsageRecords(1000).then( res => {
799            console.log('BUNDLE_ACTIVE queryModuleUsageRecords promise succeeded');
800            for (let i = 0; i < res.length; i++) {
801                console.log('BUNDLE_ACTIVE queryModuleUsageRecords promise number : ' + (i + 1));
802                console.log('BUNDLE_ACTIVE queryModuleUsageRecords promise result ' + JSON.stringify(res[i]));
803            }
804        }).catch( err=> {
805            console.log('BUNDLE_ACTIVE queryModuleUsageRecords promise failed. code is: ' + err.code + ',message is: ' + err.message);
806        });
807    } catch (error) {
808        console.log('BUNDLE_ACTIVE queryModuleUsageRecords throw error, code is: ' + error.code + ',message is: ' + error.message);
809    }
810  ```
811
812## usageStatistics.queryModuleUsageRecords
813
814queryModuleUsageRecords(maxNum: number, callback: AsyncCallback&lt;Array&lt;HapModuleInfo&gt;&gt;): void
815
816查询FA使用记录。使用CallBack形式返回数量最大不超过maxNum设置的值,FA使用记录由近及远排序,maxNum最大为1000。
817
818**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
819
820**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
821
822**系统API**:此接口为系统接口。
823
824**参数**:
825
826| 参数名      | 类型                                       | 必填   | 说明                                  |
827| -------- | ---------------------------------------- | ---- | ----------------------------------- |
828| maxNum   | number                                   | 是    | 返回FA记录的最大数量,maxNum最大为1000。|
829| callback | AsyncCallback&lt;Array&lt;[HapModuleInfo](#hapmoduleinfo)&gt;&gt; | 是    | 指定的CallBack回调方法。返回不超过maxNum条FA使用记录。 |
830
831**错误码**:
832
833以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
834
835| 错误码ID        | 错误信息                       |
836| ---------- | ----------------------------       |
837| 10000001   | Memory operation failed.           |
838| 10000002   | Parcel operation failed.           |
839| 10000003   | System service operation failed.   |
840| 10000004   | IPC failed.          |
841| 10000006   | Failed to get the application information.       |
842| 10000007   | Failed to get the system time.  |
843
844**示例**:
845
846  ```js
847    try{
848        usageStatistics.queryModuleUsageRecords(1000, (err, res) => {
849            if(err) {
850                console.log('BUNDLE_ACTIVE queryModuleUsageRecords callback failed. code is: ' + err.code + ',message is: ' + err.message);
851            } else {
852                console.log('BUNDLE_ACTIVE queryModuleUsageRecords callback succeeded.');
853                for (let i = 0; i < res.length; i++) {
854                    console.log('BUNDLE_ACTIVE queryModuleUsageRecords callback number : ' + (i + 1));
855                    console.log('BUNDLE_ACTIVE queryModuleUsageRecords callback result ' + JSON.stringify(res[i]));
856                }
857            }
858        });
859    } catch (error) {
860        console.log('BUNDLE_ACTIVE queryModuleUsageRecords throw error, code is: ' + error.code + ',message is: ' + error.message);
861    }
862  ```
863
864## usageStatistics.queryAppGroup
865
866queryAppGroup(bundleName : string): Promise&lt;number&gt;
867
868查询指定bundleName的应用的优先级分组。使用Promise形式返回其应用分组结果。
869
870**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
871
872**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
873
874**系统API**:此接口为系统接口。
875
876**参数**:
877
878| 参数名        | 类型     | 必填   | 说明                                       |
879| ---------- | ------ | ---- | ---------------------------------------- |
880| bundleName | string | 是    | 查询指定bundleName的应用的优先级分组。 |
881
882**返回值**:
883
884| 类型              | 说明                          |
885| --------------- | --------------------------- |
886| Promise&lt;number&gt; | 指定的Promise回调方法。返回查询的应用分组结果。 |
887
888**错误码**:
889
890以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
891
892| 错误码ID        | 错误信息                       |
893| ---------- | ----------------------------       |
894| 10000001   | Memory operation failed.           |
895| 10000002   | Parcel operation failed.           |
896| 10000003   | System service operation failed.   |
897| 10000004   | IPC failed.          |
898| 10000005   | Application is not installed.      |
899| 10000006   | Failed to get the application information.       |
900| 10100002   | Failed to get the application group information. |
901
902**示例**:
903
904```javascript
905//有bundleName的promise
906    let bundleName = "com.ohos.camera";
907    try{
908        usageStatistics.queryAppGroup(bundleName).then( res => {
909            console.log('BUNDLE_ACTIVE queryAppGroup promise succeeded. result: ' + JSON.stringify(res));
910        }).catch( err => {
911            console.log('BUNDLE_ACTIVE queryAppGroup promise failed. code is: ' + err.code + ',message is: ' + err.message);
912        });
913    } catch (error) {
914        console.log('BUNDLE_ACTIVE queryAppGroup throw error, code is: ' + error.code + ',message is: ' + error.message);
915    }
916```
917
918## usageStatistics.queryAppGroup
919
920queryAppGroup(bundleName : string, callback: AsyncCallback&lt;number&gt;): void
921
922查询指定bundleName对应应用的分组。使用callback形式返回其应用分组。
923
924**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
925
926**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
927
928**系统API**:此接口为系统接口。
929
930**参数**:
931
932| 参数名        | 类型                    | 必填   | 说明                                       |
933| ---------- | --------------------- | ---- | ---------------------------------------- |
934| bundleName | string                | 是    | 查询指定bundleName对应应用的分组。 |
935| callback   | AsyncCallback&lt;number&gt; | 是    | 指定的CallBack回调方法。返回制指定bundleName的应用分组。|
936
937**错误码**:
938
939以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
940
941| 错误码ID        | 错误信息                       |
942| ---------- | ----------------------------       |
943| 10000001   | Memory operation failed.           |
944| 10000002   | Parcel operation failed.           |
945| 10000003   | System service operation failed.   |
946| 10000004   | IPC failed.          |
947| 10000005   | Application is not installed.      |
948| 10000006   | Failed to get the application information.       |
949| 10100002   | Failed to get the application group information. |
950
951**示例**:
952
953```javascript
954    let bundleName = "com.ohos.camera";
955    try{
956        usageStatistics.queryAppGroup(bundleName, (err, res) => {
957            if(err) {
958                console.log('BUNDLE_ACTIVE queryAppGroup callback failed. code is: ' + err.code + ',message is: ' + err.message);
959            } else {
960                console.log('BUNDLE_ACTIVE queryAppGroup callback succeeded. result: ' + JSON.stringify(res));
961            }
962        });
963    } catch (error) {
964        console.log('BUNDLE_ACTIVE queryAppGroup throw error, code is: ' + error.code + ',message is: ' + error.message);
965    }
966```
967
968## usageStatistics.setAppGroup
969
970setAppGroup(bundleName: string, newGroup: GroupType): Promise&lt;void&gt;
971
972将指定bundleName的应用的分组设置为newGroup,使用Promise形式返回设置是否成功。
973
974**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
975
976**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
977
978**系统API**:此接口为系统接口。
979
980**参数**:
981
982| 参数名        | 类型        | 必填   | 说明   |
983| ---------- | --------- | ---- | ---- |
984| bundleName | string    | 是    | 应用名称 |
985| newGroup   | [GroupType](#grouptype) | 是    | 应用分组 |
986
987**错误码**:
988
989以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
990
991| 错误码ID        | 错误信息                          |
992| ---------- | ----------------------------          |
993| 10000001   | Memory operation failed.              |
994| 10000002   | Parcel operation failed.              |
995| 10000003   | System service operation failed.      |
996| 10000004   | IPC failed.             |
997| 10000006   | Failed to get the application information.          |
998| 10100001   | Repeated operation on the application group. |
999
1000**返回值**:
1001
1002| 类型            | 说明                        |
1003| ------------- | ------------------------- |
1004| Promise&lt;void&gt; | 指定的Promise回调方法。返回本次设置是否成功 |
1005
1006**示例**:
1007
1008```javascript
1009    let bundleName = "com.example.deviceUsageStatistics";
1010    let newGroup = usageStatistics.GroupType.DAILY_GROUP;
1011
1012    try{
1013        usageStatistics.setAppGroup(bundleName, newGroup).then( () => {
1014            console.log('BUNDLE_ACTIVE setAppGroup promise succeeded.');
1015        }).catch( err => {
1016            console.log('BUNDLE_ACTIVE setAppGroup promise failed. code is: ' + err.code + ',message is: ' + err.message);
1017        });
1018    } catch (error) {
1019        console.log('BUNDLE_ACTIVE setAppGroup throw error, code is: ' + error.code + ',message is: ' + error.message);
1020    }
1021```
1022
1023## usageStatistics.setAppGroup
1024
1025setAppGroup(bundleName: string, newGroup: GroupType, callback: AsyncCallback&lt;void&gt;): void
1026
1027将指定bundleName的应用的分组设置为newGroup,使用CallBack形式返回设置是否成功。
1028
1029**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
1030
1031**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
1032
1033**系统API**:此接口为系统接口。
1034
1035**参数**:
1036
1037| 参数名        | 类型                  | 必填   | 说明                        |
1038| ---------- | ------------------- | ---- | ------------------------- |
1039| bundleName | string              | 是    | 应用名称                      |
1040| newGroup   | [GroupType](#grouptype)           | 是    | 应用分组                      |
1041| callback   | AsyncCallback&lt;void&gt; | 是    | 指定的CallBack回调方法。返回设置是否成功。 |
1042
1043**错误码**:
1044
1045以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
1046
1047| 错误码ID        | 错误信息                          |
1048| ---------- | ----------------------------          |
1049| 10000001   | Memory operation failed.              |
1050| 10000002   | Parcel operation failed.              |
1051| 10000003   | System service operation failed.      |
1052| 10000004   | IPC failed.             |
1053| 10000006   | Failed to get the application information.          |
1054| 10100001   | Repeated operation on the application group. |
1055
1056**示例**:
1057
1058```javascript
1059    let bundleName = "com.example.deviceUsageStatistics";
1060    let newGroup = usageStatistics.GroupType.DAILY_GROUP;
1061
1062    try{
1063        usageStatistics.setAppGroup(bundleName, newGroup, (err) => {
1064            if(err) {
1065                console.log('BUNDLE_ACTIVE setAppGroup callback failed. code is: ' + err.code + ',message is: ' + err.message);
1066            } else {
1067                console.log('BUNDLE_ACTIVE setAppGroup callback succeeded.');
1068            }
1069        });
1070    } catch (error) {
1071        console.log('BUNDLE_ACTIVE setAppGroup throw error, code is: ' + error.code + ',message is: ' + error.message);
1072    }
1073```
1074
1075## usageStatistics.registerAppGroupCallBack
1076
1077registerAppGroupCallBack(groupCallback: Callback&lt;AppGroupCallbackInfo&gt;): Promise&lt;void&gt;
1078
1079应用注册分组变化监听,待用户名下的某个应用分组发生变化时,通过callback形式向所有已注册分组变化监听的应用返回[AppGroupCallbackInfo](#appgroupcallbackinfo)信息。使用Promise形式返回注册是否成功。
1080
1081**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
1082
1083**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
1084
1085**系统API**:此接口为系统接口。
1086
1087**参数**:
1088
1089| 参数名   | 类型                                                         | 必填 | 说明                                       |
1090| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------ |
1091| callback | Callback&lt;[AppGroupCallbackInfo](#appgroupcallbackinfo)&gt; | 是   | 指定的callback函数,返回应用分组变化的信息 |
1092
1093**错误码**:
1094
1095以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
1096
1097| 错误码ID        | 错误信息                          |
1098| ---------- | ----------------------------          |
1099| 10000001   | Memory operation failed.              |
1100| 10000002   | Parcel operation failed.              |
1101| 10000003   | System service operation failed.      |
1102| 10000004   | IPC failed.             |
1103| 10100001   | Repeated operation on the application group. |
1104
1105**返回值**:
1106
1107| 类型            | 说明                      |
1108| ------------- | ----------------------- |
1109| Promise&lt;void&gt; | 指定的Promise回调方法。返回注册监听是否成功 |
1110
1111**示例**:
1112
1113```javascript
1114    let onBundleGroupChanged = (res) =>{
1115        console.log('BUNDLE_ACTIVE registerAppGroupCallBack RegisterGroupCallBack callback success.');
1116        console.log('BUNDLE_ACTIVE registerAppGroupCallBack result appOldGroup is : ' + res.appOldGroup);
1117        console.log('BUNDLE_ACTIVE registerAppGroupCallBack result appNewGroup is : ' + res.appNewGroup);
1118        console.log('BUNDLE_ACTIVE registerAppGroupCallBack result changeReason is : ' + res.changeReason);
1119        console.log('BUNDLE_ACTIVE registerAppGroupCallBack result userId is : ' + res.userId);
1120        console.log('BUNDLE_ACTIVE registerAppGroupCallBack result bundleName is : ' + res.bundleName);
1121    };
1122    try{
1123        usageStatistics.registerAppGroupCallBack(onBundleGroupChanged).then( () => {
1124            console.log('BUNDLE_ACTIVE registerAppGroupCallBack promise succeeded.');
1125        }).catch( err => {
1126            console.log('BUNDLE_ACTIVE registerAppGroupCallBack promise failed. code is: ' + err.code + ',message is: ' + err.message);
1127        });
1128    } catch (error) {
1129        console.log('BUNDLE_ACTIVE registerAppGroupCallBack throw error, code is: ' + error.code + ',message is: ' + error.message);
1130    }
1131```
1132
1133## usageStatistics.registerAppGroupCallBack
1134
1135registerAppGroupCallBack(groupCallback: Callback&lt;AppGroupCallbackInfo&gt;, callback: AsyncCallback&lt;void&gt;): void
1136
1137应用注册分组变化监听,待用户名下的某个应用分组发生变化时,通过callback形式向所有已注册分组变化监听的应用返回[AppGroupCallbackInfo](#appgroupcallbackinfo)信息。使用异步callback形式返回注册监听是否成功。
1138
1139**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
1140
1141**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
1142
1143**系统API**:此接口为系统接口。
1144
1145**参数**:
1146
1147| 参数名   | 类型                                                         | 必填 | 说明                                         |
1148| -------- | ------------------------------------------------------------ | ---- | -------------------------------------------- |
1149| groupCallback | Callback&lt;[AppGroupCallbackInfo](#appgroupcallbackinfo)&gt; | 是   | 指定的callback函数,返回应用分组变化的信息   |
1150| callback | AsyncCallback&lt;void&gt;                                    | 是   | 指定的异步callback函数,返回注册监听是否成功 |
1151
1152**错误码**:
1153
1154以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
1155
1156| 错误码ID        | 错误信息                          |
1157| ---------- | ----------------------------          |
1158| 10000001   | Memory operation failed.              |
1159| 10000002   | Parcel operation failed.              |
1160| 10000003   | System service operation failed.      |
1161| 10000004   | IPC failed.             |
1162| 10100001   | Repeated operation on the application group. |
1163
1164
1165**示例**:
1166
1167```javascript
1168    // @ts-nocheck
1169    let onBundleGroupChanged = (err, res) =>{
1170        console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack callback success.');
1171        console.log('BUNDLE_ACTIVE registerAppGroupCallBack result appOldGroup is : ' + res.appOldGroup);
1172        console.log('BUNDLE_ACTIVE registerAppGroupCallBack result appNewGroup is : ' + res.appNewGroup);
1173        console.log('BUNDLE_ACTIVE registerAppGroupCallBack result changeReason is : ' + res.changeReason);
1174        console.log('BUNDLE_ACTIVE registerAppGroupCallBack result userId is : ' + res.userId);
1175        console.log('BUNDLE_ACTIVE registerAppGroupCallBack result bundleName is : ' + res.bundleName);
1176    };
1177    try{
1178        usageStatistics.registerAppGroupCallBack(onBundleGroupChanged, err => {
1179            if(err) {
1180                console.log('BUNDLE_ACTIVE registerAppGroupCallBack callback failed. code is: ' + err.code + ',message is: ' + err.message);
1181            } else {
1182                console.log('BUNDLE_ACTIVE registerAppGroupCallBack callback success.');
1183            }
1184        });
1185    } catch (error) {
1186        console.log('BUNDLE_ACTIVE registerAppGroupCallBack throw error, code is: ' + error.code + ',message is: ' + error.message);
1187    }
1188```
1189
1190## usageStatistics.unregisterAppGroupCallBack
1191
1192unregisterAppGroupCallBack(): Promise&lt;void&gt;
1193
1194应用解除分组变化监听,解除通过调用注册接口生成的监听。使用Promise形式返回解除监听是否成功。
1195
1196**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
1197
1198**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
1199
1200**系统API**:此接口为系统接口。
1201
1202**返回值**:
1203
1204| 类型            | 说明                       |
1205| ------------- | ------------------------ |
1206| Promise&lt;void&gt; | 指定的Promise回调方法。返回解除监听是否成功 |
1207
1208**错误码**:
1209
1210以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
1211
1212| 错误码ID        | 错误信息                          |
1213| ---------- | ----------------------------          |
1214| 10000001   | Memory operation failed.              |
1215| 10000002   | Parcel operation failed.              |
1216| 10000003   | System service operation failed.      |
1217| 10000004   | IPC failed.             |
1218| 10100001   | Repeated operation on the application group. |
1219
1220**示例**:
1221
1222```javascript
1223    try{
1224        usageStatistics.unregisterAppGroupCallBack().then( () => {
1225            console.log('BUNDLE_ACTIVE unregisterAppGroupCallBack promise succeeded.');
1226        }).catch( err => {
1227            console.log('BUNDLE_ACTIVE unregisterAppGroupCallBack promise failed. code is: ' + err.code + ',message is: ' + err.message);
1228        });
1229    } catch (error) {
1230        console.log('BUNDLE_ACTIVE unregisterAppGroupCallBack throw error, code is: ' + error.code + ',message is: ' + error.message);
1231    }
1232```
1233
1234## usageStatistics.unregisterAppGroupCallBack
1235
1236unregisterAppGroupCallBack(callback: AsyncCallback&lt;void&gt;): void;
1237
1238应用解除分组变化监听,解除通过调用注册接口生成的监听。使用异步callback形式返回解除监听是否成功。
1239
1240**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
1241
1242**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
1243
1244**系统API**:此接口为系统接口。
1245
1246**参数**:
1247
1248| 参数名      | 类型                  | 必填   | 说明             |
1249| -------- | ------------------- | ---- | -------------- |
1250| callback | AsyncCallback&lt;void&gt; | 是    | 解除监听是否成功的异步回调函数 |
1251
1252**错误码**:
1253
1254以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
1255
1256| 错误码ID        | 错误信息                          |
1257| ---------- | ----------------------------          |
1258| 10000001   | Memory operation failed.              |
1259| 10000002   | Parcel operation failed.              |
1260| 10000003   | System service operation failed.      |
1261| 10000004   | IPC failed.             |
1262| 10100001   | Repeated operation on the application group. |
1263
1264**示例**:
1265
1266```javascript
1267    try{
1268        usageStatistics.unregisterAppGroupCallBack(err => {
1269            if(err) {
1270                console.log('BUNDLE_ACTIVE unregisterAppGroupCallBack callback failed. code is: ' + err.code + ',message is: ' + err.message);
1271            } else {
1272                console.log('BUNDLE_ACTIVE unregisterAppGroupCallBack callback success.');
1273            }
1274        });
1275    } catch (error) {
1276        console.log('BUNDLE_ACTIVE unregisterAppGroupCallBack throw error, code is: ' + error.code + ',message is: ' + error.message);
1277    }
1278```
1279
1280## usageStatistics.queryDeviceEventStats
1281
1282queryDeviceEventStats(begin: number, end: number): Promise&lt;Array&lt;DeviceEventStats&gt;&gt;
1283
1284通过指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息,使用Promise形式返回。
1285
1286**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
1287
1288**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
1289
1290**系统API**:此接口为系统接口。
1291
1292**参数**:
1293
1294| 参数名   | 类型     | 必填   | 说明    |
1295| ----- | ------ | ---- | ----- |
1296| begin | number | 是    | 起始时间,以毫秒为单位。 |
1297| end   | number | 是    | 结束时间,以毫秒为单位。 |
1298
1299**返回值**:
1300
1301| 类型                                       | 说明                                       |
1302| ---------------------------------------- | ---------------------------------------- |
1303| Promise&lt;Array&lt;[DeviceEventStats](#deviceeventstats)&gt;&gt; | 指定的Promise回调方法。返回指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。 |
1304
1305**错误码**:
1306
1307以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
1308
1309| 错误码ID        | 错误信息                          |
1310| ---------- | ----------------------------          |
1311| 10000001   | Memory operation failed.              |
1312| 10000002   | Parcel operation failed.              |
1313| 10000003   | System service operation failed.      |
1314| 10000004   | IPC failed.             |
1315| 10000006   | Failed to get the application information.          |
1316| 10000007   | Failed to get the system time.     |
1317
1318**示例**:
1319
1320  ```js
1321    try{
1322        usageStatistics.queryDeviceEventStats(0, 20000000000000).then( res => {
1323            console.log('BUNDLE_ACTIVE queryDeviceEventStates promise success.');
1324            console.log('BUNDLE_ACTIVE queryDeviceEventStates promise result ' + JSON.stringify(res));
1325        }).catch( err=> {
1326            console.log('BUNDLE_ACTIVE queryDeviceEventStats promise failed. code is: ' + err.code + ',message is: ' + err.message);
1327        });
1328    } catch (error) {
1329        console.log('BUNDLE_ACTIVE queryDeviceEventStats throw error, code is: ' + error.code + ',message is: ' + error.message);
1330    }
1331  ```
1332
1333## usageStatistics.queryDeviceEventStats
1334
1335queryDeviceEventStats(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;DeviceEventStats&gt;&gt;): void
1336
1337通过指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息,使用Callback形式返回。
1338
1339**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
1340
1341**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
1342
1343**系统API**:此接口为系统接口。
1344
1345**参数**:
1346
1347| 参数名      | 类型                                       | 必填   | 说明                                       |
1348| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
1349| begin    | number                                   | 是    | 起始时间,以毫秒为单位。                                    |
1350| end      | number                                   | 是    | 结束时间,以毫秒为单位。                                    |
1351| callback | AsyncCallback&lt;Array&lt;[DeviceEventStats](#deviceeventstats)&gt;&gt; | 是    | 指定的callback回调方法。返回指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。 |
1352
1353**错误码**:
1354
1355以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
1356
1357| 错误码ID        | 错误信息                          |
1358| ---------- | ----------------------------          |
1359| 10000001   | Memory operation failed.              |
1360| 10000002   | Parcel operation failed.              |
1361| 10000003   | System service operation failed.      |
1362| 10000004   | IPC failed.             |
1363| 10000006   | Failed to get the application information.           |
1364| 10000007   | Failed to get the system time.     |
1365
1366**示例**:
1367
1368  ```js
1369    try{
1370        usageStatistics.queryDeviceEventStats(0, 20000000000000, (err, res) => {
1371            if(err) {
1372                console.log('BUNDLE_ACTIVE queryDeviceEventStats callback failed. code is: ' + err.code + ',message is: ' + err.message);
1373            } else {
1374                console.log('BUNDLE_ACTIVE queryDeviceEventStats callback success.');
1375                console.log('BUNDLE_ACTIVE queryDeviceEventStats callback result ' + JSON.stringify(res));
1376            }
1377        });
1378    } catch (error) {
1379        console.log('BUNDLE_ACTIVE queryDeviceEventStats throw error, code is: ' + error.code + ',message is: ' + error.message);
1380    }
1381  ```
1382
1383## usageStatistics.queryNotificationEventStats
1384
1385queryNotificationEventStats(begin: number, end: number): Promise&lt;Array&lt;DeviceEventStats&gt;&gt;
1386
1387通过指定起始和结束时间查询所有应用的通知次数信息,使用Promise形式返回。
1388
1389**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
1390
1391**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
1392
1393**系统API**:此接口为系统接口。
1394
1395**参数**:
1396
1397| 参数名   | 类型     | 必填   | 说明    |
1398| ----- | ------ | ---- | ----- |
1399| begin | number | 是    | 起始时间,以毫秒为单位。 |
1400| end   | number | 是    | 结束时间,以毫秒为单位。 |
1401
1402**返回值**:
1403
1404| 类型                                       | 说明                                       |
1405| ---------------------------------------- | ---------------------------------------- |
1406| Promise&lt;Array&lt;[DeviceEventStats](#deviceeventstats)&gt;&gt; | 指定的Promise回调方法。返回指定起始和结束时间查询所有应用的通知次数信息。 |
1407
1408**错误码**:
1409
1410以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
1411
1412| 错误码ID        | 错误信息                          |
1413| ---------- | ----------------------------          |
1414| 10000001   | Memory operation failed.              |
1415| 10000002   | Parcel operation failed.              |
1416| 10000003   | System service operation failed.      |
1417| 10000004   | IPC failed.             |
1418| 10000006   | Failed to get the application information.          |
1419| 10000007   | Failed to get the system time.     |
1420
1421**示例**:
1422
1423  ```js
1424    try{
1425        usageStatistics.queryNotificationEventStats(0, 20000000000000).then( res => {
1426            console.log('BUNDLE_ACTIVE queryNotificationEventStats promise success.');
1427            console.log('BUNDLE_ACTIVE queryNotificationEventStats promise result ' + JSON.stringify(res));
1428        }).catch( err=> {
1429            console.log('BUNDLE_ACTIVE queryNotificationEventStats promise failed. code is: ' + err.code + ',message is: ' + err.message);
1430        });
1431    } catch (error) {
1432        console.log('BUNDLE_ACTIVE queryNotificationEventStats throw error, code is: ' + error.code + ',message is: ' + error.message);
1433    }
1434  ```
1435
1436## usageStatistics.queryNotificationEventStats
1437
1438queryNotificationEventStats(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;DeviceEventStats&gt;&gt;): void
1439
1440通过指定起始和结束时间查询所有应用的通知次数信息,使用Callback形式返回。
1441
1442**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
1443
1444**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
1445
1446**系统API**:此接口为系统接口。
1447
1448**参数**:
1449
1450| 参数名      | 类型                                       | 必填   | 说明                                       |
1451| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
1452| begin    | number                                   | 是    | 起始时间,以毫秒为单位。                                    |
1453| end      | number                                   | 是    | 结束时间,以毫秒为单位。                                    |
1454| callback | AsyncCallback&lt;Array&lt;[DeviceEventStats](#deviceeventstats)&gt;&gt; | 是    | 指定的callback回调方法。返回通过指定起始和结束时间查询所有应用的通知次数信息。 |
1455
1456**错误码**:
1457
1458以下错误码的详细介绍请参见[设备信息使用统计错误码](../errorcodes/errorcode-DeviceUsageStatistics.md)。
1459
1460| 错误码ID        | 错误信息                          |
1461| ---------- | ----------------------------          |
1462| 10000001   | Memory operation failed.              |
1463| 10000002   | Parcel operation failed.              |
1464| 10000003   | System service operation failed.      |
1465| 10000004   | IPC failed.             |
1466| 10000006   | Failed to get the application information.          |
1467| 10000007   | Failed to get the system time.     |
1468
1469**示例**:
1470
1471  ```js
1472    try{
1473        usageStatistics.queryNotificationEventStats(0, 20000000000000, (err, res) => {
1474            if(err) {
1475                console.log('BUNDLE_ACTIVE queryNotificationEventStats callback failed. code is: ' + err.code + ',message is: ' + err.message);
1476            } else {
1477                console.log('BUNDLE_ACTIVE queryNotificationEventStats callback success.');
1478                console.log('BUNDLE_ACTIVE queryNotificationEventStats callback result ' + JSON.stringify(res));
1479            }
1480        });
1481    } catch (error) {
1482        console.log('BUNDLE_ACTIVE queryNotificationEventStats throw error, code is: ' + error.code + ',message is: ' + error.message);
1483    }
1484  ```
1485
1486## HapModuleInfo
1487FA的使用信息的属性集合。
1488
1489**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
1490
1491**系统API**:此接口为系统接口。
1492
1493| 名称                  | 类型                                       | 必填   | 说明                            |
1494| -------------------- | ---------------------------------------- | ---- | ----------------------------- |
1495| deviceId             | string                                   | 否    | FA所属deviceId。                 |
1496| bundleName           | string                                   | 是    | FA所属应用包名。                     |
1497| moduleName           | string                                   | 是    | FA所属module名。                  |
1498| abilityName          | string                                   | 否    | FA的MainAbility名。              |
1499| appLabelId           | number                                   | 否    | FA的应用labelId。                 |
1500| labelId              | number                                   | 否    | FA所属module的labelId。           |
1501| descriptionId        | number                                   | 否    | FA所属的应用descriptionId。         |
1502| abilityLableId       | number                                   | 否    | FA的MainAbility labelId。       |
1503| abilityDescriptionId | number                                   | 否    | FA的MainAbility descriptionId。 |
1504| abilityIconId        | number                                   | 否    | FA的MainAbility iconId。        |
1505| launchedCount        | number                                   | 是    | FA的启动次数。                      |
1506| lastModuleUsedTime   | number                                   | 是    | FA的上一次使用时间。                   |
1507| formRecords          | Array&lt;[HapFormInfo](#hapforminfo)&gt; | 是    | FA中卡片的使用记录。                   |
1508
1509## HapFormInfo
1510FA卡片的使用信息的属性集合。
1511
1512**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
1513
1514**系统API**:此接口为系统接口。
1515
1516| 名称              | 类型     | 必填   | 说明          |
1517| ---------------- | ------ | ---- | ----------- |
1518| formName         | string | 是    | 卡片名称。       |
1519| formDimension    | number | 是    | 卡片尺寸。       |
1520| formId           | number | 是    | 卡片Id。       |
1521| formLastUsedTime | number | 是    | 卡片的上一次点击时间。 |
1522| count            | number | 是    | 卡片的点击次数。    |
1523
1524## AppGroupCallbackInfo
1525
1526应用分组变化回调返回的属性集合
1527
1528**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
1529
1530**系统API**:此接口为系统接口。
1531
1532| 名称           | 类型   | 必填 | 说明             |
1533| ---------------- | ------ | ---- | ---------------- |
1534| appOldGroup | number | 是   | 变化前的应用分组 |
1535| appNewGroup | number | 是   | 变化后的应用分组 |
1536| userId           | number | 是   | 用户id           |
1537| changeReason     | number | 是   | 分组变化原因     |
1538| bundleName       | string | 是   | 应用名称         |
1539
1540## BundleStatsInfo
1541
1542提供应用使用时长的具体信息。
1543
1544### 属性
1545
1546**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
1547
1548**系统API**:此接口为系统接口。
1549
1550| 名称                      | 类型     | 必填   | 说明                                       |
1551| ------------------------ | ------ | ---- | ---------------------------------------- |
1552| bundleName               | string | 否   | 应用包名。                                    |
1553| abilityPrevAccessTime    | number | 否    | 应用最后一次使用的时间。                             |
1554| abilityInFgTotalTime     | number | 否    | 应用在前台使用的总时间。                             |
1555| id                       | number | 是    | 用户id。 |
1556| abilityPrevSeenTime      | number | 否    | 应用最后一次在前台可见的时间。 |
1557| abilitySeenTotalTime     | number | 否    | 应用在前台可见的总时间。 |
1558| fgAbilityAccessTotalTime | number | 否    | 应用访问前台的总时间。 |
1559| fgAbilityPrevAccessTime  | number | 否    | 应用最后一次访问前台的时间。|
1560| infosBeginTime           | number | 否    | BundleActiveInfo对象中第一条应用使用统计的记录时间。 |
1561| infosEndTime             | number | 否    | BundleActiveInfo对象中最后一条应用使用统计的记录时间。 |
1562
1563## BundleEvents
1564
1565提供应用事件的具体信息。
1566
1567**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
1568
1569**系统API**:此接口为系统接口。
1570
1571| 名称                   | 类型     | 必填   | 说明                                       |
1572| --------------------- | ------ | ---- | ---------------------------------------- |
1573| bundleName            | string | 否    | 应用包名。                                    |
1574| eventId             | number | 否    | 应用事件类型。                                  |
1575| eventOccurredTime     | number | 否    | 应用事件发生的时间戳。                              |
1576| appGroup | number | 否    | 应用程序的使用优先级组。|
1577| indexOfLink           | string | 否    | 快捷方式id。|
1578| nameOfClass           | string | 否    | 类名。|
1579
1580## BundleStatsMap
1581
1582提供应用使用时长的具体信息。
1583
1584**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
1585
1586**系统API**:此接口为系统接口。
1587
1588| 参数名                            | 类型                                       | 必填   | 说明             |
1589| ------------------------------ | ---------------------------------------- | ---- | -------------- |
1590| [key: string]: BundleStatsInfo | [key: string]: [BundleStatsInfo](#bundlestatsinfo) | 是    | 不同应用的使用时长统计信息。 |
1591
1592## DeviceEventStats
1593
1594提供通知、系统事件的统计信息。
1595
1596**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
1597
1598**系统API**:此接口为系统接口。
1599
1600| 名称     | 类型     | 必填   | 说明                |
1601| ------- | ------ | ---- | ----------------- |
1602| name    | string | 是    | 通知应用包名或者系统事件名。    |
1603| eventId | number | 是    | 通知、系统事件类型。        |
1604| count   | number | 是    | 应用通知次数或者系统事件触发次数。 |
1605
1606## IntervalType
1607
1608提供应用使用时长的查询类型。
1609
1610**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
1611
1612**系统API**:此接口为系统接口。
1613
1614| 名称           | 值  | 说明                                       |
1615| ------------ | ---- | ---------------------------------------- |
1616| BY_OPTIMIZED | 0    | 表示系统自行判断最合适的查询类型(天、周、月、年)去查询指定时间段间隔的应用使用时长信息。 |
1617| BY_DAILY     | 1    | 表示系统按照天去查询指定时间段间隔的应用使用时长信息。              |
1618| BY_WEEKLY    | 2    | 表示系统按照周去查询指定时间段间隔的应用使用时长信息。              |
1619| BY_MONTHLY   | 3    | 表示系统按照月去查询指定时间段间隔的应用使用时长信息。              |
1620| BY_ANNUALLY  | 4    | 表示系统按照年去查询指定时间段间隔的应用使用时长信息。              |
1621
1622## GroupType
1623
1624提供应用分组的设置类型。
1625
1626**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
1627
1628**系统API**:此接口为系统接口。
1629
1630| 名称                 | 值  | 说明                |
1631| ------------------ | ---- | ----------------- |
1632| ALIVE_GROUP | 10   | 活跃分组。              |
1633| DAILY_GROUP | 20   | 经常使用,但当前并未在活跃态。    |
1634| FIXED_GROUP | 30   | 常用分组,定期使用,但不是每天使用。 |
1635| RARE_GROUP  | 40   | 极少使用分组,不经常使用。      |
1636| LIMITED_GROUP | 50   | 受限使用分组。            |
1637| NEVER_GROUP | 60   | 从未使用分组,安装但是从未运行过。  |