js-apis-deviceUsageStatistics.md 24.0 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 15 16

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

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

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

**参数**
W
wyuanchao 已提交
22 23 24 25

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

W
wyuanchao 已提交
28
**示例**
W
wyuanchao 已提交
29 30

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

W
wyuanchao 已提交
40
## bundleState.isIdleState
W
wyuanchao 已提交
41 42 43

isIdleState(bundleName: string): Promise<boolean>

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

W
wyuanchao 已提交
46 47 48
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup

**参数**
W
wyuanchao 已提交
49 50 51 52 53

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

W
wyuanchao 已提交
54
**返回值**
W
wyuanchao 已提交
55 56 57

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

W
wyuanchao 已提交
60
**示例**
W
wyuanchao 已提交
61 62

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

W
wyuanchao 已提交
70
## bundleState.queryAppUsagePriorityGroup
W
wyuanchao 已提交
71 72 73

queryAppUsagePriorityGroup(callback: AsyncCallback<number>): void

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

W
wyuanchao 已提交
76 77 78
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup

**参数**
W
wyuanchao 已提交
79 80 81

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

W
wyuanchao 已提交
84
**示例**
W
wyuanchao 已提交
85 86

  ```
W
wyuanchao 已提交
87
    bundleState.queryAppUsagePriorityGroup((err, res) => {
W
wyuanchao 已提交
88
        if (err) {
W
wyuanchao 已提交
89
            console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback failed. because: ' + err.code);
W
wyuanchao 已提交
90 91
        } else {
            console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res));
W
wyuanchao 已提交
92 93 94 95
        }
    });
  ```

W
wyuanchao 已提交
96
## bundleState.queryAppUsagePriorityGroup
W
wyuanchao 已提交
97 98 99

queryAppUsagePriorityGroup(): Promise<number>

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

W
wyuanchao 已提交
102 103 104
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup

**返回值**
W
wyuanchao 已提交
105 106 107

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

W
wyuanchao 已提交
110
**示例**
W
wyuanchao 已提交
111 112

  ```
W
wyuanchao 已提交
113
    bundleState.queryAppUsagePriorityGroup().then( res => {
W
wyuanchao 已提交
114
        console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res));
W
wyuanchao 已提交
115
    }).catch( err => {
W
wyuanchao 已提交
116
        console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise failed. because: ' + err.code);
W
wyuanchao 已提交
117 118 119
    });
  ```

W
wyuanchao 已提交
120
## bundleState.queryBundleStateInfos
W
wyuanchao 已提交
121 122 123 124 125

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

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

W
wyuanchao 已提交
126
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
127

W
wyuanchao 已提交
128 129 130
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
131 132 133 134 135

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

W
wyuanchao 已提交
138
**示例**
W
wyuanchao 已提交
139 140

  ```
W
wyuanchao 已提交
141
    bundleState.queryBundleStateInfos(0, 20000000000000, (err, res) => {
W
wyuanchao 已提交
142 143 144
        if (err) {
            console.log('BUNDLE_ACTIVE queryBundleStateInfos callback failed, because: ' + err.code);
        } else {
W
wyuanchao 已提交
145 146
            console.log('BUNDLE_ACTIVE queryBundleStateInfos callback success.');
            let i = 1;
W
wyuanchao 已提交
147
            for(let key in res){
W
wyuanchao 已提交
148 149 150
                console.log('BUNDLE_ACTIVE queryBundleStateInfos callback number : ' + i);
                console.log('BUNDLE_ACTIVE queryBundleStateInfos callback result ' + JSON.stringify(res[key]));
                i++;
W
wyuanchao 已提交
151 152 153 154 155
            }
        }
    });
  ```

W
wyuanchao 已提交
156
## bundleState.queryBundleStateInfos
W
wyuanchao 已提交
157 158 159 160 161

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

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

W
wyuanchao 已提交
162
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
163

W
wyuanchao 已提交
164 165 166
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
167 168 169 170 171 172

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

W
wyuanchao 已提交
173
**返回值**
W
wyuanchao 已提交
174 175 176

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

W
wyuanchao 已提交
179
**示例**
W
wyuanchao 已提交
180 181

  ```
W
wyuanchao 已提交
182
    bundleState.queryBundleStateInfos(0, 20000000000000).then( res => {
W
wyuanchao 已提交
183 184
        console.log('BUNDLE_ACTIVE queryBundleStateInfos promise success.');
        let i = 1;
W
wyuanchao 已提交
185
        for(let key in res){
W
wyuanchao 已提交
186 187 188
            console.log('BUNDLE_ACTIVE queryBundleStateInfos promise number : ' + i);
            console.log('BUNDLE_ACTIVE queryBundleStateInfos promise result ' + JSON.stringify(res[key]));
            i++;
W
wyuanchao 已提交
189 190
        }
    }).catch( err => {
W
wyuanchao 已提交
191
        console.log('BUNDLE_ACTIVE queryBundleStateInfos promise failed, because: ' + err.code);
W
wyuanchao 已提交
192 193 194
    });
  ```

W
wyuanchao 已提交
195
## bundleState.queryBundleStateInfoByInterval
W
wyuanchao 已提交
196 197 198 199 200

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

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

W
wyuanchao 已提交
201
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
202

W
wyuanchao 已提交
203 204 205
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
206 207 208

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

W
wyuanchao 已提交
214
**示例**
W
wyuanchao 已提交
215 216

  ```
W
wyuanchao 已提交
217
    bundleState.queryBundleStateInfoByInterval(0, 0, 20000000000000, (err, res) => {
W
wyuanchao 已提交
218 219 220
        if (err) {
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback failed, because: ' + err.code);
        } else {
W
wyuanchao 已提交
221
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback success.');
W
wyuanchao 已提交
222
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
223 224
                console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
225 226 227 228 229
            }
        }
    });
  ```

W
wyuanchao 已提交
230
## bundleState.queryBundleStateInfoByInterval
W
wyuanchao 已提交
231 232 233 234 235

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

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

W
wyuanchao 已提交
236
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
237

W
wyuanchao 已提交
238 239 240
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
241 242 243

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

W
wyuanchao 已提交
248
**返回值**
W
wyuanchao 已提交
249 250 251

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

W
wyuanchao 已提交
254
**示例**
W
wyuanchao 已提交
255 256

  ```
W
wyuanchao 已提交
257
    bundleState.queryBundleStateInfoByInterval(0, 0, 20000000000000).then( res => {
W
wyuanchao 已提交
258
        console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise success.');
W
wyuanchao 已提交
259
        for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
260 261
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
262 263
        }
    }).catch( err => {
W
wyuanchao 已提交
264
        console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise failed, because: ' + err.code);
W
wyuanchao 已提交
265 266 267
    });
  ```

W
wyuanchao 已提交
268
## bundleState.queryBundleActiveStates
W
wyuanchao 已提交
269 270 271 272 273

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

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

W
wyuanchao 已提交
274
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
275

W
wyuanchao 已提交
276 277 278
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
279 280 281 282 283

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

W
wyuanchao 已提交
286
**示例**
W
wyuanchao 已提交
287 288

  ```
W
wyuanchao 已提交
289
    bundleState.queryBundleActiveStates(0, 20000000000000, (err, res) => {
W
wyuanchao 已提交
290 291 292
        if (err) {
            console.log('BUNDLE_ACTIVE queryBundleActiveStates callback failed, because: ' + err.code);
        } else {
W
wyuanchao 已提交
293
            console.log('BUNDLE_ACTIVE queryBundleActiveStates callback success.');
W
wyuanchao 已提交
294
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
295 296
                console.log('BUNDLE_ACTIVE queryBundleActiveStates callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryBundleActiveStates callback result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
297 298 299 300 301
            }
        }
    });
  ```

W
wyuanchao 已提交
302
## bundleState.queryBundleActiveStates
W
wyuanchao 已提交
303 304 305 306 307

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

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

W
wyuanchao 已提交
308
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
W
wyuanchao 已提交
309

W
wyuanchao 已提交
310 311 312
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
313 314 315 316 317 318

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

W
wyuanchao 已提交
319
**返回值**
W
wyuanchao 已提交
320 321 322

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

W
wyuanchao 已提交
325
**示例**
W
wyuanchao 已提交
326 327

  ```
W
wyuanchao 已提交
328
    bundleState.queryBundleActiveStates(0, 20000000000000).then( res => {
W
wyuanchao 已提交
329
        console.log('BUNDLE_ACTIVE queryBundleActiveStates promise success.');
W
wyuanchao 已提交
330
        for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
331 332
            console.log('BUNDLE_ACTIVE queryBundleActiveStates promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE queryBundleActiveStates promise result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
333 334
        }
    }).catch( err => {
W
wyuanchao 已提交
335
        console.log('BUNDLE_ACTIVE queryBundleActiveStates promise failed, because: ' + err.code);
W
wyuanchao 已提交
336 337 338
    });
  ```

W
wyuanchao 已提交
339
## bundleState.queryCurrentBundleActiveStates
W
wyuanchao 已提交
340 341 342

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

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

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

**参数**
W
wyuanchao 已提交
348 349 350 351 352

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

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

  ```
W
wyuanchao 已提交
358
    bundleState.queryCurrentBundleActiveStates(0, 20000000000000, (err, res) => {
W
wyuanchao 已提交
359 360 361
        if (err) {
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback failed, because: ' + err.code);
        } else {
W
wyuanchao 已提交
362
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback success.');
W
wyuanchao 已提交
363
            for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
364 365
                console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback number : ' + (i + 1));
                console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
366
            }
W
wyuanchao 已提交
367 368 369 370
        }
    });
  ```

W
wyuanchao 已提交
371
## bundleState.queryCurrentBundleActiveStates
W
wyuanchao 已提交
372 373 374

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

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

W
wyuanchao 已提交
377 378 379
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**
W
wyuanchao 已提交
380 381 382 383 384 385

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

W
wyuanchao 已提交
386
**返回值**
W
wyuanchao 已提交
387 388 389

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

W
wyuanchao 已提交
392
**示例**
W
wyuanchao 已提交
393 394

  ```
W
wyuanchao 已提交
395
    bundleState.queryCurrentBundleActiveStates(0, 20000000000000).then( res => {
W
wyuanchao 已提交
396
        console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise success.');
W
wyuanchao 已提交
397
        for (let i = 0; i < res.length; i++) {
W
wyuanchao 已提交
398 399
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise result ' + JSON.stringify(res[i]));
W
wyuanchao 已提交
400 401
        }
    }).catch( err => {
W
wyuanchao 已提交
402
        console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise failed, because: ' + err.code);
W
wyuanchao 已提交
403 404 405
    });
  ```

H
houdisheng 已提交
406
## bundleState.getModuleUsageRecord<sup>9</sup>
H
houdisheng 已提交
407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441

getModuleUsageRecord(begin: number, end: number): Promise&lt;Array&lt;BundleActiveModuleInfo&gt;&gt;

据maxNum,查询FA使用记录,使用Promise返回不超过maxNum条FA使用记录。

**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO

**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | maxNum | number | 是 | 返回条目的最大数量。|

**返回值**

  | 类型 | 说明 |
  | -------- | -------- |
  | Promise&lt;Array&lt;[BundleActiveModuleInfo](#bundleactivestate)&gt;&gt; | 指定的Promise回调方法。返回不超过maxNum条FA使用记录。|

**示例**

  ```
    bundleState.getModuleUsageRecord(this.maxNum).then( res => {
        console.log('BUNDLE_ACTIVE getModuleUsageRecord promise succeeded');
        for (let i = 0; i < res.length; i++) {
            console.log('BUNDLE_ACTIVE getModuleUsageRecord promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE getModuleUsageRecord promise result ' + JSON.stringify(res[i]));
        }
    }).catch( err=> {
        console.log('BUNDLE_ACTIVE getModuleUsageRecord promise failed, because: ' + err.code);
    });
  ```

H
houdisheng 已提交
442
## bundleState.getModuleUsageRecord<sup>9</sup>
H
houdisheng 已提交
443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474

getModuleUsageRecord(begin: number, end: number): Promise&lt;Array&lt;BundleActiveModuleInfo&gt;&gt;

据maxNum,查询FA使用记录,使用CallBack返回不超过maxNum条FA使用记录。

**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO

**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | maxNum | number | 是 | 返回条目的最大数量。|
  | callback | AsyncCallback&lt;Array&lt;[BundleActiveModuleInfo](#bundleactivestate)&gt;&gt; | 是 | 指定的CallBack回调方法。返回不超过maxNum条FA使用记录。|

**示例**

  ```
    bundleState.getModuleUsageRecord(this.maxNum,(err, res) => {
        if(err) {
            console.log('BUNDLE_ACTIVE getModuleUsageRecord callback failed, because: ' + err.code);
        } else {
            console.log('BUNDLE_ACTIVE getModuleUsageRecord callback succeeded.');
                for (let i = 0; i < res.length; i++) {
                    console.log('BUNDLE_ACTIVE getModuleUsageRecord callback number : ' + (i + 1));
                    console.log('BUNDLE_ACTIVE getModuleUsageRecord callback result ' + JSON.stringify(res[i]));
                }
            }
    });
  ```

H
houdisheng 已提交
475
## BundleActiveModuleInfo<sup>9</sup>
H
houdisheng 已提交
476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497
提供FA的使用信息。

### 属性

**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceId | string | 是 | FA所属deviceId。|
| bundleName | string | 是 | FA所属应用包名。|
| moduleName | string | 是 | FA所属module名。|
| abilityName | string | 是 | FA的MainAbility名。|
| appLabelId | number | 是 | FA的应用labelId。|
| labelId | number | 是 | FA所属module的labelId。|
| descriptionId | number | 是 | FA的应用descriptionId。|
| abilityLableId | number | 是 | FA的MainAbility labelId。|
| abilityDescriptionId | number | 是 | FA的MainAbility descriptionId。|
| abilityIconId | number | 是 | FA的MainAbility iconId。|
| launchedCount | number | 是 | FA的启动次数。|
| lastModuleUsedTime | number | 是 | FA的上一次使用时间。|
| formRecords | Array<BundleActiveFormInfo> | 是 | FA中卡片的使用记录。|

H
houdisheng 已提交
498
## BundleActiveFormInfo<sup>9</sup>
H
houdisheng 已提交
499 500 501 502 503 504 505 506 507 508 509 510 511 512
提供FA中卡片的使用记录。

### 属性

**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| formName | number | 是 | 卡片名称。|
| formDimension | number | 是 | 卡片尺寸。|
| formId | number | 是 | 卡片Id。|
| formLastUsedTime | number | 是 | 卡片的上一次点击时间。|
| count | number | 是 | 卡片的点击次数。|

W
wyuanchao 已提交
513 514
## BundleStateInfo
提供应用使用时长的具体信息。
W
wyuanchao 已提交
515

W
wyuanchao 已提交
516
### 属性
W
wyuanchao 已提交
517

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

W
wyuanchao 已提交
520 521 522 523 524
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。|
| abilityPrevAccessTime | number | 是 | 应用最后一次使用的时间。|
| abilityInFgTotalTime | number | 是 | 应用在前台使用的总时间。|
W
wyuanchao 已提交
525 526 527 528 529 530
| id | number | 否 | 用户id。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| abilityPrevSeenTime | number | 否 | 应用最后一次在前台可见的时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| abilitySeenTotalTime | number | 否 | 应用在前台可见的总时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| fgAbilityAccessTotalTime | number | 否 | 应用访问前台的总时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| fgAbilityPrevAccessTime | number | 否 | 应用最后一次访问前台的时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
| infosBeginTime | number | 否 | BundleActiveInfo对象中第一条应用使用统计的记录时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
W
wyuanchao 已提交
531
| infosEndTime | number | 否 | BundleActiveInfo对象中最后一条应用使用统计的记录时间。<br>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。|
W
wyuanchao 已提交
532

W
wyuanchao 已提交
533
### merge
W
wyuanchao 已提交
534

W
wyuanchao 已提交
535
merge(toMerge: BundleStateInfo): void
W
wyuanchao 已提交
536 537 538

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

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

W
wyuanchao 已提交
541 542 543 544 545 546
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App

**参数**

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

W
wyuanchao 已提交
549
## BundleActiveState
W
wyuanchao 已提交
550

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

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

W
wyuanchao 已提交
555 556 557 558 559
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。|
| stateType | number | 是 | 应用事件类型。|
| stateOccurredTime | number | 是 | 应用事件发生的时间戳。|
W
wyuanchao 已提交
560 561 562
| 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 已提交
563

W
wyuanchao 已提交
564
## BundleActiveInfoResponse
W
wyuanchao 已提交
565

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

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

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

W
wyuanchao 已提交
574
## IntervalType
W
wyuanchao 已提交
575

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

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

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