diff --git a/zh-cn/application-dev/device-usage-statistics/device-usage-statistics-dev-guide.md b/zh-cn/application-dev/device-usage-statistics/device-usage-statistics-dev-guide.md index a946d4dfaf3978b972f0857b2ff7e2273c6f262d..fac7f3045ed93b984952441fca4757daa44bd70e 100644 --- a/zh-cn/application-dev/device-usage-statistics/device-usage-statistics-dev-guide.md +++ b/zh-cn/application-dev/device-usage-statistics/device-usage-statistics-dev-guide.md @@ -22,6 +22,8 @@ import stats from '@ohos.bundleState'; | function queryAppUsagePriorityGroup(callback: AsyncCallback<number>): void | 查询(返回)当前调用者应用的使用优先级群组。 | | function isIdleState(bundleName: string, callback: AsyncCallback<boolean>): void | 判断指定Bundle Name的应用当前是否是空闲状态。 | | function getRecentlyUsedModules(maxNum: number, callback: AsyncCallback<BundleActiveModuleInfo>): void | 根据maxNum,查询FA使用记录,返回不超过maxNum条FA使用记录。 | +| function queryAppNotificationNumber(begin: number, end: number, callback: AsyncCallback<Array<BundleActiveEventState>>): void | 通过指定起始和结束时间查询所有应用的通知次数。 | +| function queryBundleActiveEventStates(begin: number, end: number, callback: AsyncCallback<Array<BundleActiveEventState>>): void | 通过指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。 | ## 开发步骤 @@ -261,3 +263,50 @@ import stats from '@ohos.bundleState'; }); ``` +9. 通过指定起始和结束时间查询所有应用的通知次数,config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO。 + + ```js + import stats from '@ohos.bundleState' + + // 异步方法promise方式 + stats.queryAppNotificationNumber(0, 20000000000000).then( res => { + console.log('BUNDLE_ACTIVE queryAppNotificationNumber promise success.'); + console.log('BUNDLE_ACTIVE queryAppNotificationNumber promise result ' + JSON.stringify(res)); + }).catch( err => { + console.log('BUNDLE_ACTIVE queryAppNotificationNumber promise failed, because: ' + err.code); + }); + + // 异步方法callback方式 + stats.queryAppNotificationNumber(0, 20000000000000, (err, res) => { + if (err) { + console.log('BUNDLE_ACTIVE queryAppNotificationNumber callback failed, because: ' + err.code); + } else { + console.log('BUNDLE_ACTIVE queryAppNotificationNumber callback success.'); + console.log('BUNDLE_ACTIVE queryAppNotificationNumber callback result ' + JSON.stringify(res)); + } + }); + ``` + +10. 通过指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息,config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO。 + + ```js + import stats from '@ohos.bundleState' + + // 异步方法promise方式 + stats.queryBundleActiveEventStates(0, 20000000000000).then( res => { + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise success.'); + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise result ' + JSON.stringify(res)); + }).catch( err => { + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise failed, because: ' + err.code); + }); + + // 异步方法callback方式 + stats.queryBundleActiveEventStates(0, 20000000000000, (err, res) => { + if (err) { + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates callback failed, because: ' + err.code); + } else { + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates callback success.'); + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates callback result ' + JSON.stringify(res)); + } + }); + ``` \ No newline at end of file diff --git a/zh-cn/application-dev/device-usage-statistics/device-usage-statistics-overview.md b/zh-cn/application-dev/device-usage-statistics/device-usage-statistics-overview.md index 607dbcd18aaa0bdb88dcb2bd9102692a86412ee1..e963f72da9391540a1b420e43888ce3cf2e04598 100644 --- a/zh-cn/application-dev/device-usage-statistics/device-usage-statistics-overview.md +++ b/zh-cn/application-dev/device-usage-statistics/device-usage-statistics-overview.md @@ -19,7 +19,9 @@ 5. 查询调用者应用的优先级群组。 6. 判断指定应用当前是否是空闲状态。 7. 查询FA使用记录。返回数量最大不超过maxNum设置的值,FA使用记录由近及远排序,maxNum最大为1000,若不填写maxNum参数,则maxNum默认为1000。 +8. 根据起止时间查询应用通知次数。 +9. 根据起止时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。 ### 设备使用信息统计使用权限 -- 设备使用信息统计的queryBundleActiveStates、queryBundleStateInfos、queryBundleStateInfoByInterval接口为系统api,调用前需要申请ohos.permission.BUNDLE_ACTIVE_INFO权限。 +- 设备使用信息统计的queryBundleActiveStates、queryBundleStateInfos、queryBundleStateInfoByInterval、queryBundleActiveEventStates、queryAppNotificationNumber接口为系统api,调用前需要申请ohos.permission.BUNDLE_ACTIVE_INFO权限。 - 设备使用信息统计的queryCurrentBundleActiveStates、queryAppUsagePriorityGroup、isIdleState接口为三方api,调用时不需要申请权限。 \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md b/zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md index 3b8dcf260a6cbae98c9b724a037a2222ad478812..f8845f58f5733be4cf1b9fe865b6188c14d496ce 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md +++ b/zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md @@ -496,6 +496,136 @@ getRecentlyUsedModules(maxNum?: number, callback: AsyncCallback<Array<Bund }); ``` +## bundleState.queryBundleActiveEventStates9+ + +queryBundleActiveEventStates(begin: number, end: number): Promise<Array<BundleActiveEventState>> + +通过指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息,使用Promise形式返回。 + +**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO + +**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App + +**参数**: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | begin | number | 是 | 起始时间。| + | end | number | 是 | 结束时间。| + +**返回值**: + + | 类型 | 说明 | + | -------- | -------- | + | Promise<Array<[BundleActiveEventState](#bundleactiveeventstate9)>> | 指定的Promise回调方法。返回指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。| + +**示例**: + + ```js + bundleState.queryBundleActiveEventStates(0, 20000000000000).then( res => { + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise success.'); + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise result ' + JSON.stringify(res)); + }).catch( err=> { + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise failed, because: ' + err.code); + }); + ``` + +## bundleState.queryBundleActiveEventStates9+ + +queryBundleActiveEventStates(begin: number, end: number, callback: AsyncCallback<Array<BundleActiveEventState>>): void + +通过指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息,使用Callback形式返回。 + +**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO + +**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App + +**参数**: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | begin | number | 是 | 起始时间。| + | end | number | 是 | 结束时间。| + | callback | AsyncCallback<Array<[BundleActiveEventState](#bundleactiveeventstate9)>> | 是 | 指定的callback回调方法。返回指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。| + +**示例**: + + ```js + bundleState.queryBundleActiveEventStates(0, 20000000000000, (err, res) => { + if(err) { + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates callback failed, because: ' + err.code); + } else { + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates callback success.'); + console.log('BUNDLE_ACTIVE queryBundleActiveEventStates callback result ' + JSON.stringify(res)); + } + }); + ``` + +## bundleState.queryAppNotificationNumber9+ + +queryAppNotificationNumber(begin: number, end: number): Promise<Array<BundleActiveEventState>> + +通过指定起始和结束时间查询所有应用的通知次数信息,使用Promise形式返回。 + +**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO + +**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App + +**参数**: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | begin | number | 是 | 起始时间。| + | end | number | 是 | 结束时间。| + +**返回值**: + + | 类型 | 说明 | + | -------- | -------- | + | Promise<Array<[BundleActiveEventState](#bundleactiveeventstate9)>> | 指定的Promise回调方法。返回指定起始和结束时间查询所有应用的通知次数信息。| + +**示例**: + + ```js + bundleState.queryAppNotificationNumber(0, 20000000000000).then( res => { + console.log('BUNDLE_ACTIVE queryAppNotificationNumber promise success.'); + console.log('BUNDLE_ACTIVE queryAppNotificationNumber promise result ' + JSON.stringify(res)); + }).catch( err=> { + console.log('BUNDLE_ACTIVE queryAppNotificationNumber promise failed, because: ' + err.code); + }); + ``` + +## bundleState.queryAppNotificationNumber9+ + +queryAppNotificationNumber(begin: number, end: number, callback: AsyncCallback<Array<BundleActiveEventState>>): void + +通过指定起始和结束时间查询所有应用的通知次数信息,使用Callback形式返回。 + +**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO + +**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App + +**参数**: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | begin | number | 是 | 起始时间。| + | end | number | 是 | 结束时间。| + | callback | AsyncCallback<Array<[BundleActiveEventState](#bundleactiveeventstate9)>> | 是 | 指定的callback回调方法。返回通过指定起始和结束时间查询所有应用的通知次数信息。| + +**示例**: + + ```js + bundleState.queryAppNotificationNumber(0, 20000000000000, (err, res) => { + if(err) { + console.log('BUNDLE_ACTIVE queryAppNotificationNumberCallBack callback failed, because: ' + err.code); + } else { + console.log('BUNDLE_ACTIVE queryAppNotificationNumberCallBack callback success.'); + console.log('BUNDLE_ACTIVE queryAppNotificationNumberCallBack callback result ' + JSON.stringify(res)); + } + }); + ``` + ## BundleActiveModuleInfo9+ FA的使用信息的属性集合。 @@ -591,6 +721,18 @@ merge(toMerge: BundleStateInfo): void | -------- | -------- | -------- | -------- | | [key: string]: BundleStateInfo | [key: string]: [BundleStateInfo](#bundlestateinfo) | 是 | 不同应用的使用时长统计信息。| +## BundleActiveEventState9+ + +提供通知、系统事件的统计信息。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| name | string | 是 | 通知应用包名或者系统事件名。| +| eventId | number | 是 | 通知、系统事件类型。| +| count | number | 是 | 应用通知次数或者系统事件触发次数。| + ## IntervalType 提供应用使用时长的查询类型。