• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.bundleState (设备使用信息统计)(系统接口)
2
3本模块提供设备使用信息统计能力。
4
5设备使用信息统计,系统应用可调用接口实现如下功能:
6
7- 查询设备上各应用在不同时间段的使用时长、各应用的事件(前台、后台、长时任务开始、长时任务结束)信息及各应用的通知次数信息。
8- 查询应用分组信息(仅限自身应用)。
9- 查询应用空闲状态(其他应用和自身应用)。
10
11> **说明:**
12>
13> 从API version9开始,该接口不再维护,推荐使用新接口[@ohos.resourceschedule.usageStatistics (设备使用信息统计)(系统接口)](js-apis-resourceschedule-deviceUsageStatistics-sys.md)
14>
15> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
16>
17> 本模块为系统接口,其他公开接口请参见[@ohos.bundleState (设备使用信息统计)](js-apis-deviceUsageStatistics.md)。
18
19## 导入模块
20
21```js
22import bundleState from '@ohos.bundleState'
23```
24
25## bundleState.queryBundleStateInfos<sup>(deprecated)</sup>
26
27queryBundleStateInfos(begin: number, end: number, callback: AsyncCallback&lt;BundleActiveInfoResponse&gt;): void
28> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.queryBundleStatsInfos](js-apis-resourceschedule-deviceUsageStatistics-sys.md#usagestatisticsquerybundlestatsinfos)替代。
29
30通过指定起始和结束时间查询应用使用时长统计信息,使用Callback形式返回。
31
32**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
33
34**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
35
36**系统API**:此接口为系统接口。
37
38**参数**:
39
40| 参数名      | 类型                                       | 必填   | 说明                                      |
41| -------- | ---------------------------------------- | ---- | --------------------------------------- |
42| begin    | number                                   | 是    | 起始时间,单位毫秒。                                   |
43| end      | number                                   | 是    | 结束时间,单位毫秒。                                   |
44| callback | AsyncCallback&lt;[BundleActiveInfoResponse](js-apis-deviceUsageStatistics-sys.md#bundleactiveinforesponse)&gt; | 是    | 指定的callback回调方法。返回指定起始和结束时间内应用使用时长统计信息。 |
45
46**示例**:
47
48```ts
49import { BusinessError } from '@ohos.base';
50
51bundleState.queryBundleStateInfos(0, 20000000000000, (err: BusinessError ,
52  res: bundleState.BundleActiveInfoResponse ) => {
53  if (err) {
54    console.error('BUNDLE_ACTIVE queryBundleStateInfos callback failed, because: ' + err.code);
55  } else {
56    console.log('BUNDLE_ACTIVE queryBundleStateInfos callback success.');
57    console.log('BUNDLE_ACTIVE queryBundleStateInfos callback result ' + JSON.stringify(res));
58  }
59});
60```
61
62## bundleState.queryBundleStateInfos<sup>(deprecated)</sup>
63
64queryBundleStateInfos(begin: number, end: number): Promise&lt;BundleActiveInfoResponse&gt;
65> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.queryBundleStatsInfos](js-apis-resourceschedule-deviceUsageStatistics-sys.md#usagestatisticsquerybundlestatsinfos-1)替代。
66
67通过指定起始和结束时间查询应用使用时长统计信息,使用Promise形式返回。
68
69**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
70
71**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
72
73**系统API**:此接口为系统接口。
74
75**参数**:
76
77| 参数名   | 类型     | 必填   | 说明    |
78| ----- | ------ | ---- | ----- |
79| begin | number | 是    | 起始时间,单位毫秒。 |
80| end   | number | 是    | 结束时间,单位毫秒。 |
81
82**返回值**:
83
84| 类型                                       | 说明                                     |
85| ---------------------------------------- | -------------------------------------- |
86| Promise&lt;[BundleActiveInfoResponse](js-apis-deviceUsageStatistics-sys.md#bundleactiveinforesponse)&gt; | 指定的Promise回调方法。返回指定起始和结束时间内应用使用时长统计信息。 |
87
88**示例**:
89
90```ts
91import { BusinessError } from '@ohos.base';
92
93bundleState.queryBundleStateInfos(0, 20000000000000).then((res: bundleState.BundleActiveInfoResponse) => {
94  console.log('BUNDLE_ACTIVE queryBundleStateInfos promise success.');
95  console.log('BUNDLE_ACTIVE queryBundleStateInfos promise result ' + JSON.stringify(res));
96}).catch((err: BusinessError) => {
97  console.error('BUNDLE_ACTIVE queryBundleStateInfos promise failed, because: ' + err.code);
98});
99```
100
101## bundleState.queryBundleStateInfoByInterval<sup>(deprecated)</sup>
102
103queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleStateInfo&gt;&gt;): void
104> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.queryBundleStatsInfoByInterval](js-apis-resourceschedule-deviceUsageStatistics-sys.md#usagestatisticsquerybundlestatsinfobyinterval)替代。
105
106通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Callback形式返回。
107
108**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
109
110**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
111
112**系统API**:此接口为系统接口。
113
114**参数**:
115
116| 参数名        | 类型                                       | 必填   | 说明                                       |
117| ---------- | ---------------------------------------- | ---- | ---------------------------------------- |
118| byInterval | [IntervalType](js-apis-deviceUsageStatistics-sys.md#intervaltype)            | 是    | 查询类型。                                    |
119| begin      | number                                   | 是    | 起始时间,单位毫秒。                                    |
120| end        | number                                   | 是    | 结束时间,单位毫秒。                                    |
121| callback   | AsyncCallback&lt;Array&lt;[BundleStateInfo](js-apis-deviceUsageStatistics-sys.md#bundlestateinfodeprecated)&gt;&gt; | 是    | 指定的callback回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。 |
122
123**示例**:
124
125```ts
126import { BusinessError } from '@ohos.base';
127
128bundleState.queryBundleStateInfoByInterval(bundleState.IntervalType.BY_OPTIMIZED, 0, 20000000000000, (err: BusinessError, res: Array<bundleState.BundleStateInfo>) => {
129  if (err) {
130    console.error('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback failed, because: ' + err.code);
131  } else {
132    console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback success.');
133    for (let i = 0; i < res.length; i++) {
134      console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback number : ' + (i + 1));
135      console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback result ' + JSON.stringify(res[i]));
136    }
137  }
138});
139```
140
141## bundleState.queryBundleStateInfoByInterval<sup>(deprecated)</sup>
142
143queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number): Promise&lt;Array&lt;BundleStateInfo&gt;&gt;
144> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.queryBundleStatsInfoByInterval](js-apis-resourceschedule-deviceUsageStatistics-sys.md#usagestatisticsquerybundlestatsinfobyinterval-1)替代。
145
146通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Promise形式返回。
147
148**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
149
150**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
151
152**系统API**:此接口为系统接口。
153
154**参数**:
155
156| 参数名        | 类型                            | 必填   | 说明    |
157| ---------- | ----------------------------- | ---- | ----- |
158| byInterval | [IntervalType](js-apis-deviceUsageStatistics-sys.md#intervaltype) | 是    | 查询类型。 |
159| begin      | number                        | 是    | 起始时间,单位毫秒。 |
160| end        | number                        | 是    | 结束时间,单位毫秒。 |
161
162**返回值**:
163
164| 类型                                       | 说明                                       |
165| ---------------------------------------- | ---------------------------------------- |
166| Promise&lt;Array&lt;[BundleStateInfo](js-apis-deviceUsageStatistics-sys.md#bundlestateinfodeprecated)&gt;&gt; | 指定的Promise回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。 |
167
168**示例**:
169
170```ts
171import { BusinessError } from '@ohos.base';
172
173bundleState.queryBundleStateInfoByInterval(bundleState.IntervalType.BY_OPTIMIZED, 0, 20000000000000).then((res: Array<bundleState.BundleStateInfo>) => {
174  console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise success.');
175  for (let i = 0; i < res.length; i++) {
176    console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise number : ' + (i + 1));
177    console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise result ' + JSON.stringify(res[i]));
178  }
179}).catch((err: BusinessError) => {
180  console.error('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise failed, because: ' + err.code);
181});
182```
183
184## bundleState.queryBundleActiveStates<sup>(deprecated)</sup>
185
186queryBundleActiveStates(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleActiveState&gt;&gt;): void
187> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.queryBundleEvents](js-apis-resourceschedule-deviceUsageStatistics-sys.md#usagestatisticsquerybundleevents)替代。
188
189通过指定起始和结束时间查询所有应用的事件集合,使用Callback形式返回。
190
191**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
192
193**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
194
195**系统API**:此接口为系统接口。
196
197**参数**:
198
199| 参数名      | 类型                                       | 必填   | 说明                                      |
200| -------- | ---------------------------------------- | ---- | --------------------------------------- |
201| begin    | number                                   | 是    | 起始时间,单位毫秒。                                   |
202| end      | number                                   | 是    | 结束时间,单位毫秒。                                   |
203| callback | AsyncCallback&lt;Array&lt;[BundleActiveState](js-apis-deviceUsageStatistics-sys.md#bundleactivestatedeprecated)&gt;&gt; | 是    | 指定的callback回调方法。返回指定起始和结束时间查询所有应用的事件集合。 |
204
205**示例**:
206
207```ts
208import { BusinessError } from '@ohos.base';
209
210bundleState.queryBundleActiveStates(0, 20000000000000, (err: BusinessError, res: Array<bundleState.BundleActiveState>) => {
211  if (err) {
212    console.error('BUNDLE_ACTIVE queryBundleActiveStates callback failed, because: ' + err.code);
213  } else {
214    console.log('BUNDLE_ACTIVE queryBundleActiveStates callback success.');
215    for (let i = 0; i < res.length; i++) {
216      console.log('BUNDLE_ACTIVE queryBundleActiveStates callback number : ' + (i + 1));
217      console.log('BUNDLE_ACTIVE queryBundleActiveStates callback result ' + JSON.stringify(res[i]));
218    }
219  }
220});
221```
222
223## bundleState.queryBundleActiveStates<sup>(deprecated)</sup>
224
225queryBundleActiveStates(begin: number, end: number): Promise&lt;Array&lt;BundleActiveState&gt;&gt;
226> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.queryBundleEvents](js-apis-resourceschedule-deviceUsageStatistics-sys.md#usagestatisticsquerybundleevents-1)替代。
227
228通过指定起始和结束时间查询所有应用的事件集合,使用Promise形式返回。
229
230**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
231
232**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
233
234**系统API**:此接口为系统接口。
235
236**参数**:
237
238| 参数名   | 类型     | 必填   | 说明    |
239| ----- | ------ | ---- | ----- |
240| begin | number | 是    | 起始时间,单位毫秒。 |
241| end   | number | 是    | 结束时间,单位毫秒。 |
242
243**返回值**:
244
245| 类型                                       | 说明                                     |
246| ---------------------------------------- | -------------------------------------- |
247| Promise&lt;Array&lt;[BundleActiveState](js-apis-deviceUsageStatistics-sys.md#bundleactivestatedeprecated)&gt;&gt; | 指定的Promise回调方法。返回指定起始和结束时间查询所有应用的事件集合。 |
248
249**示例**:
250
251```ts
252import { BusinessError } from '@ohos.base';
253
254bundleState.queryBundleActiveStates(0, 20000000000000).then((res: Array<bundleState.BundleActiveState>) => {
255  console.log('BUNDLE_ACTIVE queryBundleActiveStates promise success.');
256  for (let i = 0; i < res.length; i++) {
257    console.log('BUNDLE_ACTIVE queryBundleActiveStates promise number : ' + (i + 1));
258    console.log('BUNDLE_ACTIVE queryBundleActiveStates promise result ' + JSON.stringify(res[i]));
259  }
260}).catch((err: BusinessError) => {
261  console.error('BUNDLE_ACTIVE queryBundleActiveStates promise failed, because: ' + err.code);
262});
263```
264
265## bundleState.queryAppUsagePriorityGroup<sup>(deprecated)</sup>
266
267queryAppUsagePriorityGroup(): Promise&lt;number&gt;
268> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.queryAppGroup](js-apis-resourceschedule-deviceUsageStatistics-sys.md#usagestatisticsqueryappgroup)替代。
269
270查询当前应用的优先级分组。使用Promise异步回调。
271
272**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
273
274**系统API**:此接口为系统接口。
275
276**返回值**:
277
278| 类型              | 说明                          |
279| --------------- | --------------------------- |
280| Promise&lt;number&gt; | Promise回调方法。返回查询的应用分组结果。 |
281
282**示例**:
283
284```ts
285import { BusinessError } from '@ohos.base';
286
287bundleState.queryAppUsagePriorityGroup().then((res: number) => {
288  console.log('BUNDLE_ACTIVE QueryPackageGroup promise succeeded. result: ' + JSON.stringify(res));
289}).catch((err: BusinessError) => {
290  console.error('BUNDLE_ACTIVE QueryPackageGroup promise failed. because: ' + err.code);
291});
292```
293
294## bundleState.queryAppUsagePriorityGroup<sup>(deprecated)</sup>
295
296queryAppUsagePriorityGroup(callback: AsyncCallback&lt;number&gt;): void
297> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.queryAppGroup](js-apis-resourceschedule-deviceUsageStatistics-sys.md#usagestatisticsqueryappgroup-1)替代。
298
299查询当前应用的优先级分组。使用callback异步回调。
300
301**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
302
303**系统API**:此接口为系统接口。
304
305**参数**:
306
307| 参数名      | 类型                    | 必填   | 说明                         |
308| -------- | --------------------- | ---- | -------------------------- |
309| callback | AsyncCallback&lt;number&gt; | 是    | CallBack回调方法。返回查询的应用分组。 |
310
311**示例**:
312
313```ts
314import { BusinessError } from '@ohos.base';
315
316bundleState.queryAppUsagePriorityGroup((err: BusinessError, res: number) => {
317  if(err) {
318    console.error('BUNDLE_ACTIVE QueryPackageGroup callback failed. because: ' + err.code);
319  } else {
320    console.log('BUNDLE_ACTIVE QueryPackageGroup callback succeeded. result: ' + JSON.stringify(res));
321  }
322});
323```
324
325## bundleState.queryCurrentBundleActiveStates<sup>(deprecated)</sup>
326
327queryCurrentBundleActiveStates(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleActiveState&gt;&gt;): void
328> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.queryCurrentBundleEvents](js-apis-resourceschedule-deviceUsageStatistics-sys.md#usagestatisticsquerycurrentbundleevents)替代。
329
330通过指定起始和结束时间查询当前应用的事件集合,使用Callback异步回调。
331
332**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
333
334**系统API**:此接口为系统接口。
335
336**参数**:
337
338| 参数名      | 类型                                       | 必填   | 说明                                      |
339| -------- | ---------------------------------------- | ---- | --------------------------------------- |
340| begin    | number                                   | 是    | 起始时间,单位毫秒。                                   |
341| end      | number                                   | 是    | 结束时间,单位毫秒。                                   |
342| callback | AsyncCallback&lt;Array&lt;[BundleActiveState](#bundleactivestatedeprecated)&gt;&gt; | 是    | callback回调方法。返回当前应用在指定起始和结束时间内的事件集合。 |
343
344**示例**:
345
346```ts
347import { BusinessError } from '@ohos.base';
348
349bundleState.queryCurrentBundleActiveStates(0, 20000000000000, (err: BusinessError, res: Array<bundleState.BundleActiveState>) => {
350  if (err) {
351    console.error('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback failed, because: ' + err.code);
352  } else {
353    console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback success.');
354    for (let i = 0; i < res.length; i++) {
355      console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback number : ' + (i + 1));
356      console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback result ' + JSON.stringify(res[i]));
357    }
358  }
359});
360```
361
362## bundleState.queryCurrentBundleActiveStates<sup>(deprecated)</sup>
363
364queryCurrentBundleActiveStates(begin: number, end: number): Promise&lt;Array&lt;BundleActiveState&gt;&gt;
365> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.queryCurrentBundleEvents](js-apis-resourceschedule-deviceUsageStatistics-sys.md#usagestatisticsquerycurrentbundleevents)替代。
366
367通过指定起始和结束时间查询当前应用的事件集合,使用Promise异步回调。
368
369**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
370
371**系统API**:此接口为系统接口。
372
373**参数**:
374
375| 参数名   | 类型     | 必填   | 说明    |
376| ----- | ------ | ---- | ----- |
377| begin | number | 是    | 起始时间,单位毫秒。 |
378| end   | number | 是    | 结束时间,单位毫秒。 |
379
380**返回值**:
381
382| 类型                                       | 说明                                     |
383| ---------------------------------------- | -------------------------------------- |
384| Promise&lt;Array&lt;[BundleActiveState](#bundleactivestatedeprecated)&gt;&gt; | Promise回调方法。返回指定起始和结束时间查询当前应用的事件集合。 |
385
386**示例**:
387
388```ts
389import { BusinessError } from '@ohos.base';
390
391bundleState.queryCurrentBundleActiveStates(0, 20000000000000).then((res: Array<bundleState.BundleActiveState>) => {
392  console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise success.');
393  for (let i = 0; i < res.length; i++) {
394    console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise number : ' + (i + 1));
395    console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise result ' + JSON.stringify(res[i]));
396  }
397}).catch((err: BusinessError) => {
398  console.error('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise failed, because: ' + err.code);
399});
400```
401
402## BundleStateInfo<sup>(deprecated)</sup>
403> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.BundleStatsInfo](js-apis-resourceschedule-deviceUsageStatistics-sys.md#bundlestatsinfo)替代。
404
405提供应用使用时长的具体信息。
406
407### 属性
408
409**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
410
411| 名称                      | 类型     | 必填   | 说明                                       |
412| ------------------------ | ------ | ---- | ---------------------------------------- |
413| bundleName               | string | 否    | 应用包名。                                    |
414| abilityPrevAccessTime    | number | 否    | 应用最后一次使用的时间。                             |
415| abilityInFgTotalTime     | number | 否    | 应用在前台使用的总时间。                             |
416| id                       | number | 是    | 用户id。|
417| abilityPrevSeenTime      | number | 否    | 应用最后一次在前台可见的时间。|
418| abilitySeenTotalTime     | number | 否    | 应用在前台可见的总时间。|
419| fgAbilityAccessTotalTime | number | 否    | 应用访问前台的总时间。|
420| fgAbilityPrevAccessTime  | number | 否    | 应用最后一次访问前台的时间。|
421| infosBeginTime           | number | 否    | BundleActiveInfo对象中第一条应用使用统计的记录时间。|
422| infosEndTime             | number | 否    | BundleActiveInfo对象中最后一条应用使用统计的记录时间。|
423
424### merge<sup>(deprecated)</sup>
425
426merge(toMerge: BundleStateInfo): void
427
428合并相同包名的应用使用信息。
429
430**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
431
432**参数**:
433
434| 参数名 | 类型 | 必填 | 说明 |
435| -------- | -------- | -------- | -------- |
436| toMerge | [BundleStateInfo](#bundlestateinfodeprecated) | 是 | 相同包名的应用使用统计信息。|
437
438## BundleActiveState<sup>(deprecated)</sup>
439> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.BundleEvents](js-apis-resourceschedule-deviceUsageStatistics-sys.md#bundleevents)替代。
440
441提供应用事件的具体信息。
442
443**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
444
445| 名称                   | 类型     | 必填   | 说明                                       |
446| --------------------- | ------ | ---- | ---------------------------------------- |
447| bundleName            | string | 否    | 应用包名。                                    |
448| stateType             | number | 否    | 应用事件类型。                                  |
449| stateOccurredTime     | number | 否    | 应用事件发生的时间戳。                              |
450| appUsagePriorityGroup | number | 否    | 应用程序的使用优先级组。|
451| indexOfLink           | string | 否    | 快捷方式id。|
452| nameOfClass           | string | 否    | 类名。|
453
454## BundleActiveInfoResponse<sup>(deprecated)</sup>
455> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.BundleStatsMap](js-apis-resourceschedule-deviceUsageStatistics-sys.md#bundlestatsmap)替代。
456
457提供应用使用时长的具体信息。
458
459**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App
460
461| 参数名                            | 类型                                       | 必填   | 说明             |
462| ------------------------------ | ---------------------------------------- | ---- | -------------- |
463| [key: string]: BundleStateInfo | [key: string]: [BundleStateInfo](#bundlestateinfodeprecated) | 是    | 不同应用的使用时长统计信息。 |
464
465## IntervalType<sup>(deprecated)</sup>
466> 从API version 7开始支持,从API version 9开始废弃,建议使用[usageStatistics.intervaltype](js-apis-resourceschedule-deviceUsageStatistics-sys.md#intervaltype)替代。
467
468提供应用使用时长的查询类型。
469
470**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
471
472| 名称           | 值  | 说明                                       |
473| ------------ | ---- | ---------------------------------------- |
474| BY_OPTIMIZED | 0    | 表示系统自行判断最合适的查询类型(天、周、月、年)去查询指定时间段间隔的应用使用时长信息。 |
475| BY_DAILY     | 1    | 表示系统按照天去查询指定时间段间隔的应用使用时长信息。              |
476| BY_WEEKLY    | 2    | 表示系统按照周去查询指定时间段间隔的应用使用时长信息。              |
477| BY_MONTHLY   | 3    | 表示系统按照月去查询指定时间段间隔的应用使用时长信息。              |
478| BY_ANNUALLY  | 4    | 表示系统按照年去查询指定时间段间隔的应用使用时长信息。              |