js-apis-deviceUsageStatistics.md 19.9 KB
Newer Older
W
wyuanchao 已提交
1 2 3 4 5 6 7 8 9
# 设备使用信息统计

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


## 导入模块

```
W
wyuanchao 已提交
10
import bundleState from '@ohos.bundleState'
W
wyuanchao 已提交
11 12
```

W
wyuanchao 已提交
13
## bundleState.isIdleState
W
wyuanchao 已提交
14
isIdleState(bundleName: string, callback: AsyncCallback&lt;boolean&gt;): void<br>
W
wyuanchao 已提交
15 16
判断指定bundleName的应用当前是否是空闲状态,使用Callback形式返回。

W
wyuanchao 已提交
17 18 19
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup

**参数**
W
wyuanchao 已提交
20 21 22 23

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | bundleName | string | 是 | 应用的bundleName。|
W
wyuanchao 已提交
24
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 指定的callback回调方法。如果指定的bundleName有效,则返回指定bundleName的应用当前是否是空闲状态;否则返回null。 |
W
wyuanchao 已提交
25

W
wyuanchao 已提交
26
**示例**
W
wyuanchao 已提交
27 28

  ```
W
wyuanchao 已提交
29
    bundleState.isIdleState("com.ohos.camera", (err, res) => {
W
wyuanchao 已提交
30 31
        if(err.code === 0) {
            console.log('BUNDLE_ACTIVE isIdleState callback succeeded, result: ' + JSON.stringify(res));
W
wyuanchao 已提交
32
        } else {
W
wyuanchao 已提交
33
            console.log('BUNDLE_ACTIVE isIdleState callback failed, because: ' + err.code);
W
wyuanchao 已提交
34 35 36 37
        }
    });
  ```

W
wyuanchao 已提交
38
## bundleState.isIdleState
W
wyuanchao 已提交
39
isIdleState(bundleName: string): Promise&lt;boolean&gt;<br>
W
wyuanchao 已提交
40 41
判断指定bundleName的应用当前是否是空闲状态,使用Promise形式返回。

W
wyuanchao 已提交
42 43 44
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup

**参数**
W
wyuanchao 已提交
45 46 47 48 49

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | bundleName | string | 是 | 应用的bundleName。|

W
wyuanchao 已提交
50
**返回值**
W
wyuanchao 已提交
51 52 53

  | 类型 | 说明 |
  | -------- | -------- |
W
wyuanchao 已提交
54
  | Promise&lt;boolean&gt; | 指定的Promise回调方法。如果指定的bundleName有效,则返回指定bundleName的应用当前是否是空闲状态;否则返回null。 |
W
wyuanchao 已提交
55

W
wyuanchao 已提交
56
**示例**
W
wyuanchao 已提交
57 58

  ```
W
wyuanchao 已提交
59
    bundleState.isIdleState("com.ohos.camera").then( res => {
W
wyuanchao 已提交
60
        console.log('BUNDLE_ACTIVE isIdleState promise succeeded, result: ' + JSON.stringify(res));
W
wyuanchao 已提交
61
    }).catch( err => {
W
wyuanchao 已提交
62
        console.log('BUNDLE_ACTIVE isIdleState promise failed, because: ' + err.code);
W
wyuanchao 已提交
63 64 65
    });
  ```

W
wyuanchao 已提交
66
## bundleState.queryAppUsagePriorityGroup
W
wyuanchao 已提交
67
queryAppUsagePriorityGroup(callback: AsyncCallback&lt;number&gt;): void<br>
W
wyuanchao 已提交
68 69
查询(返回)当前调用者应用的使用优先级群组,使用Callback形式返回。

W
wyuanchao 已提交
70 71 72
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup

**参数**
W
wyuanchao 已提交
73 74 75

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
W
wyuanchao 已提交
76
  | callback | AsyncCallback&lt;number&gt; | 是 | 指定的callback回调方法。返回当前调用者应用的使用优先级群组。|
W
wyuanchao 已提交
77

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

  ```
W
wyuanchao 已提交
81
    bundleState.queryAppUsagePriorityGroup((err, res) => {
W
wyuanchao 已提交
82 83
        if(err.code === 0) {
            console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res));
W
wyuanchao 已提交
84
        } else {
W
wyuanchao 已提交
85
            console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback failed. because: ' + err.code);
W
wyuanchao 已提交
86 87 88 89
        }
    });
  ```

W
wyuanchao 已提交
90
## bundleState.queryAppUsagePriorityGroup
W
wyuanchao 已提交
91
queryAppUsagePriorityGroup(): Promise&lt;number&gt;<br>
W
wyuanchao 已提交
92 93
查询(返回)当前调用者应用的使用优先级群组,使用Promise形式返回。

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

**返回值**
W
wyuanchao 已提交
97 98 99

  | 类型 | 说明 |
  | -------- | -------- |
W
wyuanchao 已提交
100
  | Promise&lt;number&gt; | 指定的Promise回调方法。查询(返回)当前调用者应用的使用优先级群组。|
W
wyuanchao 已提交
101

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

  ```
W
wyuanchao 已提交
105
    bundleState.queryAppUsagePriorityGroup().then( res => {
W
wyuanchao 已提交
106
        console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res));
W
wyuanchao 已提交
107
    }).catch( err => {
W
wyuanchao 已提交
108
        console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise failed. because: ' + err.code);
W
wyuanchao 已提交
109 110 111
    });
  ```

W
wyuanchao 已提交
112
## bundleState.queryBundleStateInfos
W
wyuanchao 已提交
113
queryBundleStateInfos(begin: number, end: number, callback: AsyncCallback&lt;BundleActiveInfoResponse&gt;): void<br>
W
wyuanchao 已提交
114 115
通过指定起始和结束时间查询应用使用时长统计信息,使用Callback形式返回。<br>
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
116

W
wyuanchao 已提交
117 118 119
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
120 121 122 123 124

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | begin | number | 是 | 起始时间。|
  | end | number | 是 | 结束时间。|
W
wyuanchao 已提交
125
  | callback | AsyncCallback&lt;[BundleActiveInfoResponse](#bundleactiveinforesponse)&gt; | 是 | 指定的callback回调方法。返回指定起始和结束时间内应用使用时长统计信息。|
W
wyuanchao 已提交
126

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

  ```
W
wyuanchao 已提交
130
    bundleState.queryBundleStateInfos(0, 20000000000000, (err, res) => {
W
wyuanchao 已提交
131 132 133
        if(err.code == 0) {
            console.log('BUNDLE_ACTIVE queryBundleStateInfos callback success.');
            let i = 1;
W
wyuanchao 已提交
134
            for(let key in res){
W
wyuanchao 已提交
135 136 137
                console.log('BUNDLE_ACTIVE queryBundleStateInfos callback number : ' + i);
                console.log('BUNDLE_ACTIVE queryBundleStateInfos callback result ' + JSON.stringify(res[key]));
                i++;
W
wyuanchao 已提交
138 139
            }
        } else {
W
wyuanchao 已提交
140
            console.log('BUNDLE_ACTIVE queryBundleStateInfos callback failed, because: ' + err.code);
W
wyuanchao 已提交
141 142 143 144
        }
    });
  ```

W
wyuanchao 已提交
145
## bundleState.queryBundleStateInfos
W
wyuanchao 已提交
146
queryBundleStateInfos(begin: number, end: number): Promise&lt;BundleActiveInfoResponse&gt;<br>
W
wyuanchao 已提交
147 148
通过指定起始和结束时间查询应用使用时长统计信息,使用Promise形式返回。<br>
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
149

W
wyuanchao 已提交
150 151 152
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
153 154 155 156 157 158

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | begin | number | 是 | 起始时间。|
  | end | number | 是 | 结束时间。|

W
wyuanchao 已提交
159
**返回值**
W
wyuanchao 已提交
160 161 162

  | 类型 | 说明 |
  | -------- | -------- |
W
wyuanchao 已提交
163
  | Promise&lt;[BundleActiveInfoResponse](#bundleactiveinforesponse)&gt; | 指定的Promise回调方法。返回指定起始和结束时间内应用使用时长统计信息。|
W
wyuanchao 已提交
164

W
wyuanchao 已提交
165
**示例**
W
wyuanchao 已提交
166 167

  ```
W
wyuanchao 已提交
168
    bundleState.queryBundleStateInfos(0, 20000000000000).then( res => {
W
wyuanchao 已提交
169 170
        console.log('BUNDLE_ACTIVE queryBundleStateInfos promise success.');
        let i = 1;
W
wyuanchao 已提交
171
        for(let key in res){
W
wyuanchao 已提交
172 173 174
            console.log('BUNDLE_ACTIVE queryBundleStateInfos promise number : ' + i);
            console.log('BUNDLE_ACTIVE queryBundleStateInfos promise result ' + JSON.stringify(res[key]));
            i++;
W
wyuanchao 已提交
175 176
        }
    }).catch( err => {
W
wyuanchao 已提交
177
        console.log('BUNDLE_ACTIVE queryBundleStateInfos promise failed, because: ' + err.code);
W
wyuanchao 已提交
178 179 180
    });
  ```

W
wyuanchao 已提交
181
## bundleState.queryBundleStateInfoByInterval
W
wyuanchao 已提交
182
queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleStateInfo&gt;&gt;): void<br>
W
wyuanchao 已提交
183 184
通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Callback形式返回。<br>
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
185

W
wyuanchao 已提交
186 187 188
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
189 190 191

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
W
wyuanchao 已提交
192
  | byInterval | [IntervalType](#intervaltype) | 是 | 查询类型。|
W
wyuanchao 已提交
193 194
  | begin | number | 是 | 起始时间。|
  | end | number | 是 | 结束时间。|
W
wyuanchao 已提交
195
  | callback | AsyncCallback&lt;Array&lt;[BundleStateInfo](#bundlestateinfo)&gt;&gt; | 是 | 指定的callback回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。|
W
wyuanchao 已提交
196

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

  ```
W
wyuanchao 已提交
200
    bundleState.queryBundleStateInfoByInterval(0, 0, 20000000000000, (err, res) => {
W
wyuanchao 已提交
201 202
        if(err.code == 0) {
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback success.');
W
wyuanchao 已提交
203
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
204 205
                console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
206 207
            }
        } else {
W
wyuanchao 已提交
208
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback failed, because: ' + err.code);
W
wyuanchao 已提交
209 210 211 212
        }
    });
  ```

W
wyuanchao 已提交
213
## bundleState.queryBundleStateInfoByInterval
W
wyuanchao 已提交
214
queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number): Promise&lt;Array&lt;BundleStateInfo&gt;&gt;<br>
W
wyuanchao 已提交
215 216
通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Promise形式返回。<br>
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
217

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

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

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
W
wyuanchao 已提交
224
  | byInterval | [IntervalType](#intervaltype) | 是 | 查询类型。|
W
wyuanchao 已提交
225 226 227
  | begin | number | 是 | 起始时间。|
  | end | number | 是 | 结束时间。|

W
wyuanchao 已提交
228
**返回值**
W
wyuanchao 已提交
229 230 231

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

W
wyuanchao 已提交
234
**示例**
W
wyuanchao 已提交
235 236

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

W
wyuanchao 已提交
248
## bundleState.queryBundleActiveStates
W
wyuanchao 已提交
249
queryBundleActiveStates(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleActiveState&gt;&gt;): void<br>
W
wyuanchao 已提交
250 251
通过指定起始和结束时间查询所有应用的事件集合,使用Callback形式返回。<br>
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
252

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

**参数**
W
wyuanchao 已提交
256 257 258 259 260

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

W
wyuanchao 已提交
263
**示例**
W
wyuanchao 已提交
264 265

  ```
W
wyuanchao 已提交
266
    bundleState.queryBundleActiveStates(0, 20000000000000, (err, res) => {
W
wyuanchao 已提交
267 268
        if(err.code == 0) {
            console.log('BUNDLE_ACTIVE queryBundleActiveStates callback success.');
W
wyuanchao 已提交
269
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
270 271
                console.log('BUNDLE_ACTIVE queryBundleActiveStates callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryBundleActiveStates callback result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
272 273
            }
        } else {
W
wyuanchao 已提交
274
            console.log('BUNDLE_ACTIVE queryBundleActiveStates callback failed, because: ' + err.code);
W
wyuanchao 已提交
275 276 277 278
        }
    });
  ```

W
wyuanchao 已提交
279
## bundleState.queryBundleActiveStates
W
wyuanchao 已提交
280
queryBundleActiveStates(begin: number, end: number): Promise&lt;Array&lt;BundleActiveState&gt;&gt;<br>
W
wyuanchao 已提交
281 282
通过指定起始和结束时间查询所有应用的事件集合,使用Promise形式返回。<br>
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
283

W
wyuanchao 已提交
284 285 286
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
287 288 289 290 291 292

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | begin | number | 是 | 起始时间。|
  | end | number | 是 | 结束时间。|

W
wyuanchao 已提交
293
**返回值**
W
wyuanchao 已提交
294 295 296

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

W
wyuanchao 已提交
299
**示例**
W
wyuanchao 已提交
300 301

  ```
W
wyuanchao 已提交
302
    bundleState.queryBundleActiveStates(0, 20000000000000).then( res => {
W
wyuanchao 已提交
303
        console.log('BUNDLE_ACTIVE queryBundleActiveStates promise success.');
W
wyuanchao 已提交
304
        for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
305 306
            console.log('BUNDLE_ACTIVE queryBundleActiveStates promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE queryBundleActiveStates promise result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
307 308
        }
    }).catch( err => {
W
wyuanchao 已提交
309
        console.log('BUNDLE_ACTIVE queryBundleActiveStates promise failed, because: ' + err.code);
W
wyuanchao 已提交
310 311 312
    });
  ```

W
wyuanchao 已提交
313
## bundleState.queryCurrentBundleActiveStates
W
wyuanchao 已提交
314
queryCurrentBundleActiveStates(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleActiveState&gt;&gt;): void<br>
W
wyuanchao 已提交
315 316
通过指定起始和结束时间查询当前应用的事件集合,使用Callback形式返回。

W
wyuanchao 已提交
317 318 319
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
320 321 322 323 324

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

W
wyuanchao 已提交
327
**示例**
W
wyuanchao 已提交
328 329

  ```
W
wyuanchao 已提交
330
    bundleState.queryCurrentBundleActiveStates(0, 20000000000000, (err, res) => {
W
wyuanchao 已提交
331 332
        if(err.code == 0) {
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback success.');
W
wyuanchao 已提交
333
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
334 335 336
                console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback result ' + JSON.stringify(res[i]));
             }
W
wyuanchao 已提交
337
        } else {
W
wyuanchao 已提交
338
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback failed, because: ' + err.code);
W
wyuanchao 已提交
339 340 341 342
        }
    });
  ```

W
wyuanchao 已提交
343
## bundleState.queryCurrentBundleActiveStates
W
wyuanchao 已提交
344
queryCurrentBundleActiveStates(begin: number, end: number): Promise&lt;Array&lt;BundleActiveState&gt;&gt;<br>
W
wyuanchao 已提交
345 346
通过指定起始和结束时间查询当前应用的事件集合,使用Promise形式返回。

W
wyuanchao 已提交
347 348 349
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
350 351 352 353 354 355

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | begin | number | 是 | 起始时间。|
  | end | number | 是 | 结束时间。|

W
wyuanchao 已提交
356
**返回值**
W
wyuanchao 已提交
357 358 359

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

W
wyuanchao 已提交
362
**示例**
W
wyuanchao 已提交
363 364

  ```
W
wyuanchao 已提交
365
    bundleState.queryCurrentBundleActiveStates(0, 20000000000000).then( res => {
W
wyuanchao 已提交
366
        console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise success.');
W
wyuanchao 已提交
367
        for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
368 369
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
370 371
        }
    }).catch( err => {
W
wyuanchao 已提交
372
        console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise failed, because: ' + err.code);
W
wyuanchao 已提交
373 374 375
    });
  ```

W
wyuanchao 已提交
376 377
## BundleStateInfo
提供应用使用时长的具体信息。
W
wyuanchao 已提交
378

W
wyuanchao 已提交
379
### 属性
W
wyuanchao 已提交
380
**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
W
wyuanchao 已提交
381

W
wyuanchao 已提交
382 383 384 385 386
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。|
| abilityPrevAccessTime | number | 是 | 应用最后一次使用的时间。|
| abilityInFgTotalTime | number | 是 | 应用在前台使用的总时间。|
W
wyuanchao 已提交
387 388 389 390 391 392 393
| 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版本中提供使用支持。|
| infosBeginTime | number | 否 | BundleActiveInfo对象中最后一条应用使用统计的记录时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
W
wyuanchao 已提交
394

W
wyuanchao 已提交
395
### merge
W
wyuanchao 已提交
396
merge(toMerge: [BundleStateInfo](#bundlestateinfo)): void
W
wyuanchao 已提交
397 398
合并相同包名的应用使用信息。<br>
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
W
wyuanchao 已提交
399

W
wyuanchao 已提交
400 401 402 403 404 405
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**

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

W
wyuanchao 已提交
408 409
## BundleActiveState
提供应用事件的具体信息。
W
wyuanchao 已提交
410

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

W
wyuanchao 已提交
413 414 415 416 417
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。|
| stateType | number | 是 | 应用事件类型。|
| stateOccurredTime | number | 是 | 应用事件发生的时间戳。|
W
wyuanchao 已提交
418 419 420
| 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 已提交
421

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

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

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

W
wyuanchao 已提交
431
## IntervalType
W
wyuanchao 已提交
432
提供应用使用时长的查询类型。
W
wyuanchao 已提交
433

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

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