# 设备使用信息统计概述 设备使用信息统计,包括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. 判断指定应用当前是否是空闲状态。 7. 查询FA使用记录。返回数量最大不超过maxNum设置的值,FA使用记录由近及远排序,maxNum最大为1000,若不填写maxNum参数,则maxNum默认为1000。 8. 根据起止时间查询应用通知次数。 9. 根据起止时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。 10. 查询调用者应用或指定应用的优先级群组。 - 设置接口 1. 给应用名称为bundleName的应用分组设置为newGroup。 - 注册接口 1. 注册应用分组变化回调监听,当应用分组发生变化,会给所有已注册的应用返回变化信息 - 解除注册接口 1. 解除注册应用分组变化回调监听 ### 设备使用信息统计使用权限 - 设备使用信息统计的queryBundleActiveStates、queryBundleStateInfos、queryBundleStateInfoByInterval、queryBundleActiveEventStates、queryAppNotificationNumber、queryAppUsagePriorityGroup(bundleName?)、setBundleGroup、registerGroupCallBack、unRegisterGroupCallBack接口为系统api,调用前需要申请ohos.permission.BUNDLE_ACTIVE_INFO权限。 - 设备使用信息统计的queryCurrentBundleActiveStates、queryAppUsagePriorityGroup()、isIdleState(三方应用只能查询自身的空闲状态)接口为三方api,调用时不需要申请权限。