Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
586ae844
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
586ae844
编写于
3月 01, 2022
作者:
O
openharmony_ci
提交者:
Gitee
3月 01, 2022
浏览文件
操作
浏览文件
下载
差异文件
!1714 device usage statistics docs
Merge pull request !1714 from wangyuanchao/master
上级
6dfb6424
81376443
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
713 addition
and
0 deletion
+713
-0
zh-cn/application-dev/device-usage-statistics/Readme-CN.md
zh-cn/application-dev/device-usage-statistics/Readme-CN.md
+5
-0
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-dev-guide.md
...ice-usage-statistics/device-usage-statistics-dev-guide.md
+225
-0
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-overview.md
...vice-usage-statistics/device-usage-statistics-overview.md
+24
-0
zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md
...ation-dev/reference/apis/js-apis-deviceUsageStatistics.md
+459
-0
未找到文件。
zh-cn/application-dev/device-usage-statistics/Readme-CN.md
0 → 100644
浏览文件 @
586ae844
# 设备使用信息统计
-
后台任务
-
[
设备使用信息统计概述
](
device-usage-statistics-overview.md
)
-
[
设备使用信息统计开发指导
](
device-usage-statistics-dev-guide.md
)
\ No newline at end of file
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-dev-guide.md
0 → 100644
浏览文件 @
586ae844
## 设备使用信息统计
## 场景介绍
设备使用信息统计,包括app usage/notification usage/system usage等使用统计。例如应用使用信息统计,用于保存和查询应用使用详情(app usage)、事件日志数据(event log)、应用分组(bundle group)情况。
部件缓存的应用记录(使用历史统计和使用事件记录)会在事件上报后30分钟内刷新到数据库持久化保存。
## 接口说明
注册相关接口包导入:
```
js
import
stats
from
'
@ohos.usagestatskit
'
;
```
**表1**
设备使用信息统计主要接口
| 接口名 | 描述 |
| -------- | -------- |
| function queryBundleActiveStates(begin:number, end:number, callback:AsyncCallback
<
Array
<
BundleActiveState
>>
):void | 通过指定起始和结束时间查询所有应用的事件集合。 |
| function queryBundleStateInfos(begin:number, end:number, callback:AsyncCallback
<
BundleStateInfoResponse
>
):void | 通过指定起始和结束时间查询应用使用时长统计信息。 |
| function queryCurrentBundleActiveStates(begin:number, end:number, callback:AsyncCallback
<
Array
<
BundleActiveState
>>
):void | 通过指定起始和结束时间查询当前应用的事件集合。 |
| function queryBundleStateInfoByInterval(byInterval:intervalType, begin:number, end:number, callback:AsyncCallback
<
Array
<
BundleStateInfo
>>
):void | 通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。 |
| function queryAppUsagePriorityGroup(callback:AsyncCallback
<
number
>
):void | 查询(返回)当前调用者应用的使用优先级群组。 |
| function isIdleState(bundleName:string, callback:AsyncCallback
<
boolean
>
):void | 判断指定Bundle Name的应用当前是否是空闲状态。 |
## 开发步骤
1.
在config.json文件中配置设备使用信息统计权限。
```json
"module": {
"package": "com.example.deviceUsageStatistics",
...,
"reqPermissions": [
{
"name": "ohos.permission.BUNDLE_ACTIVE_INFO"
}
]
}
```
2.
通过指定起始和结束时间查询所有应用的事件集合。
```js
import stats from '@ohos.usagestatskit'
// 异步方法promise方式
stats.queryBundleActiveStates(0, 20000000000000).then( res => {
console.log('queryBundleActiveStates promise succeeded, data number: ' + res.length);
for (let i = 0; i < res.length; i++) {
console.log("queryBundleActiveStates, promise bundleName = " + res[i].bundleName)
console.log("queryBundleActiveStates, promise stateType = " + res[i].stateType)
console.log("queryBundleActiveStates, promise stateOccurredTime = " + res[i].stateOccurredTime)
}
}).catch( err => {
console.log('queryBundleActiveStates promise failed, because: ' + err.data);
});
// 异步方法callback方式
setTimeout(()=>{
stats.queryBundleActiveStates(0, 20000000000000, (err, res) => {
console.log('queryBundleActiveStates callback succeeded, data number: ' + res.length);
if(err.data == 0) {
for (let i = 0; i < res.length; i++) {
console.log("queryBundleActiveStates, callback bundleName = " + res[i].bundleName)
console.log("queryBundleActiveStates, callback stateType = " + res[i].stateType)
console.log("queryBundleActiveStates, callback stateOccurredTime = " + res[i].stateOccurredTime)
}
} else {
console.log('queryBundleActiveStates callback failed, because: ' + err.data);
}
})
}, 500);
```
3.
通过指定起始和结束时间查询应用使用时长统计信息。
```js
import stats from '@ohos.usagestatskit'
// 异步方法promise方式
stats.queryBundleStateInfos(0, 20000000000000).then( res => {
console.log('queryBundleStateInfos promise succeeded, data number: ' + res.length);
for(let key in res){
console.log("queryBundleStateInfos promise key = " + key)
console.log("queryBundleStateInfos promise bundleName = " + res[key].bundleName)
console.log("queryBundleStateInfos promise abilityPrevAccessTime = " + res[key].abilityPrevAccessTime)
console.log("queryBundleStateInfos promise abilityInFgTotalTime = " + res[key].abilityInFgTotalTime)
}
}).catch( err => {
console.log('queryBundleStateInfos promise failed, because: ' + err.data);
});
// 异步方法callback方式
setTimeout(()=>{
stats.queryBundleStateInfos(0, 20000000000000,(err, res) => {
console.log('queryBundleStateInfos callback succeeded, data number: ' + res.length);
if(err.data == 0) {
for(let key in res){
console.log("queryBundleStateInfos callback key = " + key)
console.log("queryBundleStateInfos callback bundleName = " + res[key].bundleName)
console.log("queryBundleStateInfos callback abilityPrevAccessTime = " + res[key].abilityPrevAccessTime)
console.log("queryBundleStateInfos callback abilityInFgTotalTime = " + res[key].abilityInFgTotalTime)
}
} else {
console.log('queryBundleStateInfos callback failed, because: ' + err.data);
}
})
}, 500);
```
4.
通过指定起始和结束时间查询当前应用的事件集合。
```js
import stats from '@ohos.usagestatskit'
// 异步方法promise方式
stats.queryCurrentBundleActiveStates(0, 20000000000000).then( res => {
console.log('queryCurrentBundleActiveStates promise succeeded, data number: ' + res.length);
for (let i = 0; i < res.length; i++) {
console.log("queryCurrentBundleActiveStates, promise bundleName = " + res[i].bundleName)
console.log("queryCurrentBundleActiveStates, promise stateType = " + res[i].stateType)
console.log("queryCurrentBundleActiveStates, promise stateOccurredTime = " + res[i].stateOccurredTime)
}
}).catch( err => {
console.log('queryCurrentBundleActiveStates promise failed, because: ' + err.data);
});
// 异步方法callback方式
setTimeout(()=>{
stats.queryCurrentBundleActiveStates(0, 20000000000000,(err, res) => {
console.log('queryCurrentBundleActiveStates callback succeeded, data number: ' + res.length);
if(err.data == 0) {
for (let i = 0; i < res.length; i++) {
console.log("queryCurrentBundleActiveStates, callback bundleName = " + res[i].bundleName)
console.log("queryCurrentBundleActiveStates, callback stateType = " + res[i].stateType)
console.log("queryCurrentBundleActiveStates, callback stateOccurredTime = " + res[i].stateOccurredTime)
}
} else {
console.log('queryCurrentBundleActiveStates callback failed, because: ' + err.data);
}
})
}, 500);
```
5.
通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。
```js
import stats from '@ohos.usagestatskit'
// 异步方法promise方式
stats.queryBundleStateInfoByInterval(0, 0, 20000000000000).then( res => {
console.log('queryBundleStateInfoByInterval promise succeeded, data number: ' + res.length);
for (let i = 0; i < res.length; i++) {
console.log("queryBundleStateInfoByInterval, promise bundleName = " + res[i].bundleName)
console.log("queryBundleStateInfoByInterval, promise abilityPrevAccessTime = " + res[i].abilityPrevAccessTime)
console.log("queryBundleStateInfoByInterval, promise abilityInFgTotalTime = " + res[i].abilityInFgTotalTime)
}
}).catch( err => {
console.log('queryBundleStateInfoByiInterval promise failed, because: ' + err.data);
});
// 异步方法callback方式
setTimeout(()=>{
stats.queryBundleStateInfoByInterval(0, 0, 20000000000000,(err, res) => {
console.log('queryBundleStateInfoByInterval callback succeeded, data number: ' + res.length);
if(err.data == 0) {
for (let i = 0; i < res.length; i++) {
console.log("queryBundleStateInfoByInterval, callback bundleName = " + res[i].bundleName)
console.log("queryBundleStateInfoByInterval, callback abilityPrevAccessTime = " + res[i].abilityPrevAccessTime)
console.log("queryBundleStateInfoByInterval, callback abilityInFgTotalTime = " + res[i].abilityInFgTotalTime)
}
} else {
console.log('queryBundleStateInfoByInterval callback failed, because: ' + err.data);
}
})
}, 500);
```
6.
查询(返回)当前调用者应用的使用优先级群组。
```js
import stats from '@ohos.usagestatskit'
// 异步方法promise方式
stats.queryAppUsagePriorityGroup().then( res => {
console.log('queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res));
}).catch( err => {
console.log('queryAppUsagePriorityGroup promise failed, because: ' + err.data);
});
// 异步方法callback方式
setTimeout(()=>{
stats.queryAppUsagePriorityGroup((err, res) => {
if(err.data === 0) {
console.log('queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res));
} else {
console.log('queryAppUsagePriorityGroup callback failed, because: ' + err.data);
}
})
}, 500);
```
7.
判断指定Bundle Name的应用当前是否是空闲状态。
```js
import stats from '@ohos.usagestatskit'
// 异步方法promise方式
stats.isIdleState("com.ohos.camera").then( res => {
console.log('isIdleState promise succeeded. result: ' + JSON.stringify(res));
}).catch( err => {
console.log('isIdleState promise failed, because: ' + err.data);
});
// 异步方法callback方式
setTimeout(()=>{
stats.isIdleState("com.ohos.camera", (err, res) => {
if(err.data === 0) {
console.log('isIdleState callback succeeded. result: ' + JSON.stringify(res));
} else {
console.log('isIdleState callback failed, because: ' + err.data);
}
})
}, 500);
```
\ No newline at end of file
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-overview.md
0 → 100644
浏览文件 @
586ae844
# 设备使用信息统计概述
设备使用信息统计,包括app usage/notification usage/system usage等使用统计,目前只支持app usage使用统计。应用使用信息统计,用于保存和查询应用使用详情(app usage)、事件日志数据(event log)、应用分组(bundle group)情况。部件缓存的应用记录(使用历史统计和使用事件记录)会在事件上报后30分钟内刷新到数据库持久化保存。
## 设备使用信息统计功能说明
设备使用信息统计接口众多,目前只支持app usage使用统计,接下来介绍下应用使用详情(app usage)的接口逻辑。
-
**应用使用统计信息落盘时机**
:
>1. 每隔30分钟触发一次刷新;
>2. 系统时间变更触发一次刷新;
>3. 下一天开始触发一次刷新;
-
**应用查询接口**
:
>1. 根据起止时间查询所有应用的事件集合;
>2. 根据起止时间查询应用的使用时长;
>3. 根据起止时间查询当前应用的事件集合;
>4. 根据interval(日、周、月、年)类型和起止时间查询应用的使用时长;
>5. 查询调用者应用的优先级群组;
>6. 判断指定应用当前是否是空闲状态;
### 设备使用信息统计使用权限
-
设备使用信息统计接口只对系统应用开放,三方应用不可调用。
-
系统应用调用设备使用信息统计接口前,必须申请ohos.permission.BUNDLE_ACTIVE_INFO权限。
\ No newline at end of file
zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md
0 → 100644
浏览文件 @
586ae844
# 设备使用信息统计
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import stats from '@ohos.usagestatskit'
```
## usagestatskit.isIdleState
isIdleState(bundleName: string, callback: AsyncCallback
<boolean>
): void
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
-
**说明**
:
判断指定bundleName的应用当前是否是空闲状态,使用Callback形式返回。
-
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用的bundleName。|
| callback | AsyncCallback
<boolean>
| 是 | 指定的callback回调方法。如果指定的bundleName有效,则返回指定bundleName的应用当前是否是空闲状态;否则返回null。 |
-
**示例**
:
```
stats.isIdleState("com.ohos.camera", (err, res) => {
if(err.data === 0) {
console.log('isIdleState callback succeeded, result: ' + JSON.stringify(res));
} else {
console.log('isIdleState callback failed, because: ' + err.data);
}
});
```
## usagestatskit.isIdleState
isIdleState(bundleName: string): Promise
<boolean>
;
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
-
**说明**
:
判断指定bundleName的应用当前是否是空闲状态,使用Promise形式返回。
-
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用的bundleName。|
-
**返回值**
:
| 类型 | 说明 |
| -------- | -------- |
| Promise
<boolean>
| 指定的Promise回调方法。如果指定的bundleName有效,则返回指定bundleName的应用当前是否是空闲状态;否则返回null。 |
-
**示例**
:
```
stats.isIdleState("com.ohos.camera").then( res => {
console.log('isIdleState callback succeeded, result: ' + JSON.stringify(res));
}).catch( err => {
console.log('isIdleState callback failed, because: ' + err.data);
});
```
## usagestatskit.queryAppUsagePriorityGroup
queryAppUsagePriorityGroup(callback: AsyncCallback
<number>
): void
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
-
**说明**
:
查询(返回)当前调用者应用的使用优先级群组,使用Callback形式返回。
-
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback
<number>
| 是 | 指定的callback回调方法。返回当前调用者应用的使用优先级群组。|
-
**示例**
:
```
stats.queryAppUsagePriorityGroup((err, res) => {
if(err.data === 0) {
console.log('queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res));
} else {
console.log('queryAppUsagePriorityGroup callback failed. because: ' + err.data);
}
});
```
## usagestatskit.queryAppUsagePriorityGroup
queryAppUsagePriorityGroup(): Promise
<number>
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
-
**说明**
:
查询(返回)当前调用者应用的使用优先级群组,使用Promise形式返回。
-
**返回值**
:
| 类型 | 说明 |
| -------- | -------- |
| Promise
<number>
| 指定的Promise回调方法。查询(返回)当前调用者应用的使用优先级群组。|
-
**示例**
:
```
stats.queryAppUsagePriorityGroup().then( res => {
console.log('queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res));
}).catch( err => {
console.log('queryAppUsagePriorityGroup promise failed. because: ' + err.data);
});
```
## usagestatskit.queryBundleStateInfos
queryBundleStateInfos(begin: number, end: number, callback: AsyncCallback
<BundleActiveInfoResponse>
): void
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
-
**说明**
:
通过指定起始和结束时间查询应用使用时长统计信息,使用Callback形式返回。
-
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
| callback | AsyncCallback
<BundleActiveInfoResponse>
| 是 | 指定的callback回调方法。返回指定起始和结束时间内应用使用时长统计信息。|
-
**示例**
:
```
stats.queryBundleStateInfos(0, 20000000000000, (err, res) => {
console.log('queryBundleStateInfos callback succeeded, data number: ' + res.length);
if(err.data == 0) {
for(let key in res){
console.log("queryBundleStateInfos callback key = " + key)
console.log("queryBundleStateInfos callback bundleName = " + res[key].bundleName)
console.log("queryBundleStateInfos callback abilityPrevAccessTime = " + res[key].abilityPrevAccessTime)
console.log("queryBundleStateInfos callback abilityInFgTotalTime = " + res[key].abilityInFgTotalTime)
}
} else {
console.log('queryBundleStateInfos callback failed, because: ' + err.data);
}
});
```
## usagestatskit.queryBundleStateInfos
queryBundleStateInfos(begin: number, end: number): Promise
<BundleActiveInfoResponse>
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
-
**说明**
:
通过指定起始和结束时间查询应用使用时长统计信息,使用Promise形式返回。
-
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
-
**返回值**
:
| 类型 | 说明 |
| -------- | -------- |
| Promise
<BundleActiveInfoResponse>
| 指定的Promise回调方法。返回指定起始和结束时间内应用使用时长统计信息。|
-
**示例**
:
```
stats.queryBundleStateInfos(0, 20000000000000).then( res => {
console.log('queryBundleStateInfos promise succeeded, data number: ' + res.length);
for(let key in res){
console.log("queryBundleStateInfos promise key = " + key)
console.log("queryBundleStateInfos promise bundleName = " + res[key].bundleName)
console.log("queryBundleStateInfos promise abilityPrevAccessTime = " + res[key].abilityPrevAccessTime)
console.log("queryBundleStateInfos promise abilityInFgTotalTime = " + res[key].abilityInFgTotalTime)
}
}).catch( err => {
console.log('queryBundleStateInfos promise failed, because: ' + err.data);
});
```
## usagestatskit.queryBundleStateInfoByInterval
queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number, callback: AsyncCallback
<Array
<
BundleStateInfo
>
>): void
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
-
**说明**
:
通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Callback形式返回。
-
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| byInterval | IntervalType | 是 | 查询类型。|
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
| callback | AsyncCallback
<Array
<
BundleStateInfo
>
> | 是 | 指定的callback回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。|
-
**示例**
:
```
stats.queryBundleStateInfoByInterval(0, 0, 20000000000000, (err, res) => {
console.log('queryBundleStateInfoByInterval callback succeeded, data number: ' + res.length);
if(err.data == 0) {
for (let i = 0; i < res.length; i++) {
console.log("queryBundleStateInfoByInterval, callback bundleName = " + res[i].bundleName)
console.log("queryBundleStateInfoByInterval, callback abilityPrevAccessTime = " + res[i].abilityPrevAccessTime)
console.log("queryBundleStateInfoByInterval, callback abilityInFgTotalTime = " + res[i].abilityInFgTotalTime)
}
} else {
console.log('queryBundleStateInfoByInterval callback failed, because: ' + err.data);
}
});
```
## usagestatskit.queryBundleStateInfoByInterval
queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number): Promise
<Array
<
BundleStateInfo
>
>
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
-
**说明**
:
通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Promise形式返回。
-
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| byInterval | IntervalType | 是 | 查询类型。|
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
-
**返回值**
:
| 类型 | 说明 |
| -------- | -------- |
| Promise
<Array
<
BundleStateInfo
>
> | 指定的Promise回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。|
-
**示例**
:
```
stats.queryBundleStateInfoByInterval(0, 0, 20000000000000).then( res => {
console.log('queryBundleStateInfoByInterval promise succeeded, data number: ' + res.length);
for (let i = 0; i < res.length; i++) {
console.log("queryBundleStateInfoByInterval, promise bundleName = " + res[i].bundleName)
console.log("queryBundleStateInfoByInterval, promise abilityPrevAccessTime = " + res[i].abilityPrevAccessTime)
console.log("queryBundleStateInfoByInterval, promise abilityInFgTotalTime = " + res[i].abilityInFgTotalTime)
}
}).catch( err => {
console.log('queryBundleStateInfoByiInterval promise failed, because: ' + err.data);
});
```
## usagestatskit.queryBundleActiveStates
queryBundleActiveStates(begin: number, end: number, callback: AsyncCallback
<Array
<
BundleActiveState
>
>): void
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
-
**说明**
:
通过指定起始和结束时间查询所有应用的事件集合,使用Callback形式返回。
-
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
| callback | AsyncCallback
<Array
<
BundleActiveState
>
> | 是 | 指定的callback回调方法。返回指定起始和结束时间查询所有应用的事件集合。|
-
**示例**
:
```
stats.queryBundleActiveStates(0, 20000000000000, (err, res) => {
console.log('queryBundleActiveStates callback succeeded, data number: ' + res.length);
if(err.data == 0) {
for (let i = 0; i < res.length; i++) {
console.log("queryBundleActiveStates, callback bundleName = " + res[i].bundleName)
console.log("queryBundleActiveStates, callback stateType = " + res[i].stateType)
console.log("queryBundleActiveStates, callback stateOccurredTime = " + res[i].stateOccurredTime)
}
} else {
console.log('queryBundleActiveStates callback failed, because: ' + err.data);
}
});
```
## usagestatskit.queryBundleActiveStates
queryBundleActiveStates(begin: number, end: number): Promise
<Array
<
BundleActiveState
>
>
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
-
**说明**
:
通过指定起始和结束时间查询所有应用的事件集合,使用Promise形式返回。
-
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
-
**返回值**
:
| 类型 | 说明 |
| -------- | -------- |
| Promise
<Array
<
BundleActiveState
>
> | 指定的Promise回调方法。返回指定起始和结束时间查询所有应用的事件集合。|
-
**示例**
:
```
stats.queryBundleActiveStates(0, 20000000000000).then( res => {
console.log('queryBundleActiveStates promise succeeded, data number: ' + res.length);
for (let i = 0; i < res.length; i++) {
console.log("queryBundleActiveStates, promise bundleName = " + res[i].bundleName)
console.log("queryBundleActiveStates, promise stateType = " + res[i].stateType)
console.log("queryBundleActiveStates, promise stateOccurredTime = " + res[i].stateOccurredTime)
}
}).catch( err => {
console.log('queryBundleActiveStates promise failed, because: ' + err.data);
});
```
## usagestatskit.queryCurrentBundleActiveStates
queryCurrentBundleActiveStates(begin: number, end: number, callback: AsyncCallback
<Array
<
BundleActiveState
>
>): void
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
-
**说明**
:
通过指定起始和结束时间查询当前应用的事件集合,使用Callback形式返回。
-
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
| callback | AsyncCallback
<Array
<
BundleActiveState
>
> | 是 | 指定的callback回调方法。返回指定起始和结束时间查询当前应用的事件集合。|
-
**示例**
:
```
stats.queryCurrentBundleActiveStates(0, 20000000000000,(err, res) => {
console.log('queryCurrentBundleActiveStates callback succeeded, data number: ' + res.length);
if(err.data == 0) {
for (let i = 0; i < res.length; i++) {
console.log("queryCurrentBundleActiveStates, callback bundleName = " + res[i].bundleName)
console.log("queryCurrentBundleActiveStates, callback stateType = " + res[i].stateType)
console.log("queryCurrentBundleActiveStates, callback stateOccurredTime = " + res[i].stateOccurredTime)
}
} else {
console.log('queryCurrentBundleActiveStates callback failed, because: ' + err.data);
}
});
```
## usagestatskit.queryCurrentBundleActiveStates
queryCurrentBundleActiveStates(begin: number, end: number): Promise
<Array
<
BundleActiveState
>
>
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
-
**说明**
:
通过指定起始和结束时间查询当前应用的事件集合,使用Promise形式返回。
-
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| begin | number | 是 | 起始时间。|
| end | number | 是 | 结束时间。|
-
**返回值**
:
| 类型 | 说明 |
| -------- | -------- |
| Promise
<Array
<
BundleActiveState
>
> | 指定的Promise回调方法。返回指定起始和结束时间查询当前应用的事件集合。|
-
**示例**
:
```
stats.queryCurrentBundleActiveStates(0, 20000000000000).then( res => {
console.log('queryCurrentBundleActiveStates promise succeeded, data number: ' + res.length);
for (let i = 0; i < res.length; i++) {
console.log("queryCurrentBundleActiveStates, promise bundleName = " + res[i].bundleName)
console.log("queryCurrentBundleActiveStates, promise stateType = " + res[i].stateType)
console.log("queryCurrentBundleActiveStates, promise stateOccurredTime = " + res[i].stateOccurredTime)
}
}).catch( err => {
console.log('queryCurrentBundleActiveStates promise failed, because: ' + err.data);
});
```
## usagestatskit.BundleStateInfo
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
提供应用使用时长的具体信息。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。|
| abilityPrevAccessTime | number | 是 | 应用最后一次使用的时间。|
| abilityInFgTotalTime | number | 是 | 应用在前台使用的总时间。|
## usagestatskit.BundleActiveState
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
提供应用事件的具体信息。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。|
| stateType | number | 是 | 应用事件类型。|
| stateOccurredTime | number | 是 | 应用事件发生的时间戳。|
## usagestatskit.BundleActiveInfoResponse
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
提供应用使用时长的具体信息。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| [key: string]: BundleStateInfo | BundleStateInfo | 是 | 不同应用的使用时长统计信息。|
## usagestatskit.IntervalType
-
**系统能力**
:
SystemCapability.ResourceSchedule.UsageStatistics.App
触发工作的网络类型。
|名称 |默认值 |说明|
| -------- | -------- | -------- |
| BY_OPTIMIZED | 0 | 表示系统自己判断最合适的查询类型(天、周、月、年)去查询指定时间段间隔的应用使用时长信息。|
| BY_DAILY | 1 | 表示系统按照天去查询指定时间段间隔的应用使用时长信息。|
| BY_WEEKLY | 2 | 表示系统按照周去查询指定时间段间隔的应用使用时长信息。|
| BY_MONTHLY | 3 | 表示系统按照月去查询指定时间段间隔的应用使用时长信息。|
| BY_ANNUALLY | 4 | 表示系统按照年去查询指定时间段间隔的应用使用时长信息。|
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录