js-apis-deviceUsageStatistics.md 24.2 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

H
houdisheng 已提交
62
  ```js
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

H
houdisheng 已提交
86
  ```js
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

H
houdisheng 已提交
112
  ```js
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

H
houdisheng 已提交
140
  ```js
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

H
houdisheng 已提交
181
  ```js
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

H
houdisheng 已提交
216
  ```js
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

H
houdisheng 已提交
256
  ```js
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

H
houdisheng 已提交
288
  ```js
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

H
houdisheng 已提交
327
  ```js
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

H
houdisheng 已提交
357
  ```js
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

H
houdisheng 已提交
394
  ```js
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.getRecentlyUsedModules<sup>9+</sup>
H
houdisheng 已提交
407

H
houdisheng 已提交
408
getRecentlyUsedModules(maxNum: number): Promise&lt;Array&lt;BundleActiveModuleInfo&gt;&gt;
H
houdisheng 已提交
409

H
houdisheng 已提交
410
据maxNum,查询FA使用记录,使用Promise形式返回不超过maxNum条FA使用记录,FA使用记录由近及远排序,maxNum最大为1000。
H
houdisheng 已提交
411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429

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

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

**参数**

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

**返回值**

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

**示例**

H
houdisheng 已提交
430
  ```js
H
houdisheng 已提交
431 432
    bundleState.getRecentlyUsedModules(this.maxNum).then( res => {
        console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise succeeded');
H
houdisheng 已提交
433
        for (let i = 0; i < res.length; i++) {
H
houdisheng 已提交
434 435
            console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise number : ' + (i + 1));
            console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise result ' + JSON.stringify(res[i]));
H
houdisheng 已提交
436 437
        }
    }).catch( err=> {
H
houdisheng 已提交
438
        console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise failed, because: ' + err.code);
H
houdisheng 已提交
439 440 441
    });
  ```

H
houdisheng 已提交
442
## bundleState.getRecentlyUsedModules<sup>9+</sup>
H
houdisheng 已提交
443

H
houdisheng 已提交
444
getRecentlyUsedModules(maxNum: number, callback: AsyncCallback&lt;Array&lt;BundleActiveModuleInfo&gt;&gt;): void
H
houdisheng 已提交
445

H
houdisheng 已提交
446
查询FA使用记录。使用CallBack形式返回数量最大不超过maxNum设置的值,FA使用记录由近及远排序,maxNum最大为1000。
H
houdisheng 已提交
447 448 449 450 451 452 453 454 455 456 457 458 459 460

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

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

**参数**

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

**示例**

H
houdisheng 已提交
461
  ```js
H
houdisheng 已提交
462
    bundleState.getRecentlyUsedModules(this.maxNum,(err, res) => {
H
houdisheng 已提交
463
        if(err) {
H
houdisheng 已提交
464
            console.log('BUNDLE_ACTIVE getRecentlyUsedModules callback failed, because: ' + err.code);
H
houdisheng 已提交
465
        } else {
H
houdisheng 已提交
466
            console.log('BUNDLE_ACTIVE getRecentlyUsedModules callback succeeded.');
H
houdisheng 已提交
467
                for (let i = 0; i < res.length; i++) {
H
houdisheng 已提交
468 469
                    console.log('BUNDLE_ACTIVE getRecentlyUsedModules callback number : ' + (i + 1));
                    console.log('BUNDLE_ACTIVE getRecentlyUsedModules callback result ' + JSON.stringify(res[i]));
H
houdisheng 已提交
470
                }
H
houdisheng 已提交
471
        }
H
houdisheng 已提交
472 473 474
    });
  ```

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

### 属性

**系统能力**:以下各项对应的系统能力均为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 499
## BundleActiveFormInfo<sup>9+</sup>
FA卡片的使用信息的属性集合。
H
houdisheng 已提交
500 501 502 503 504 505 506 507 508 509 510 511 512

### 属性

**系统能力**:以下各项对应的系统能力均为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 | 表示系统按照年去查询指定时间段间隔的应用使用时长信息。|