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 3afd163afdff4f9780ae87250586ac40d637dd4e..5cc72d56f4fe05ca70ba36492e5e61c696dac9f4 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 @@ -8,7 +8,7 @@ ## 接口说明 注册相关接口包导入: ```js -import stats from '@ohos.usagestatskit'; +import stats from '@ohos.bundleState'; ``` **表1** 设备使用信息统计主要接口 @@ -38,188 +38,170 @@ import stats from '@ohos.usagestatskit'; } ``` -2. 通过指定起始和结束时间查询所有应用的事件集合。 +2. 通过指定起始和结束时间查询所有应用的事件集合,config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO。 ```js - import stats from '@ohos.usagestatskit' + import stats from '@ohos.bundleState' // 异步方法promise方式 stats.queryBundleActiveStates(0, 20000000000000).then( res => { - console.log('queryBundleActiveStates promise succeeded, data number: ' + res.length); + console.log('BUNDLE_ACTIVE queryBundleActiveStates promise success.'); 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) + console.log('BUNDLE_ACTIVE queryBundleActiveStates promise number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryBundleActiveStates promise result ' + JSON.stringify(res[i])); } }).catch( err => { - console.log('queryBundleActiveStates promise failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryBundleActiveStates promise failed, because: ' + err.code); }); // 异步方法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); + stats.queryBundleActiveStates(0, 20000000000000, (err, res) => { + if(err.code == 0) { + console.log('BUNDLE_ACTIVE queryBundleActiveStates callback success.'); + for (let i = 0; i < res.length; i++) { + console.log('BUNDLE_ACTIVE queryBundleActiveStates callback number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryBundleActiveStates callback result ' + JSON.stringify(res[i])); } - }) - }, 500); + } else { + console.log('BUNDLE_ACTIVE queryBundleActiveStates callback failed, because: ' + err.code); + } + }); ``` -3. 通过指定起始和结束时间查询应用使用时长统计信息。 +3. 通过指定起始和结束时间查询应用使用时长统计信息,config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO。 ```js - import stats from '@ohos.usagestatskit' + import stats from '@ohos.bundleState' // 异步方法promise方式 stats.queryBundleStateInfos(0, 20000000000000).then( res => { - console.log('queryBundleStateInfos promise succeeded, data number: ' + res.length); + console.log('BUNDLE_ACTIVE queryBundleStateInfos promise success.'); + let i = 1; 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) + console.log('BUNDLE_ACTIVE queryBundleStateInfos promise number : ' + i); + console.log('BUNDLE_ACTIVE queryBundleStateInfos promise result ' + JSON.stringify(res[key])); + i++; } }).catch( err => { - console.log('queryBundleStateInfos promise failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryBundleStateInfos promise failed, because: ' + err.code); }); // 异步方法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); + stats.queryBundleStateInfos(0, 20000000000000, (err, res) => { + if(err.code == 0) { + console.log('BUNDLE_ACTIVE queryBundleStateInfos callback success.'); + let i = 1; + for(let key in res){ + console.log('BUNDLE_ACTIVE queryBundleStateInfos callback number : ' + i); + console.log('BUNDLE_ACTIVE queryBundleStateInfos callback result ' + JSON.stringify(res[key])); + i++; } - }) - }, 500); + } else { + console.log('BUNDLE_ACTIVE queryBundleStateInfos callback failed, because: ' + err.code); + } + }); ``` -4. 通过指定起始和结束时间查询当前应用的事件集合。 +4. 通过指定起始和结束时间查询当前应用的事件集合,config.json中不需要配置权限。 ```js - import stats from '@ohos.usagestatskit' + import stats from '@ohos.bundleState' // 异步方法promise方式 stats.queryCurrentBundleActiveStates(0, 20000000000000).then( res => { - console.log('queryCurrentBundleActiveStates promise succeeded, data number: ' + res.length); + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise success.'); 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) + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise result ' + JSON.stringify(res[i])); } }).catch( err => { - console.log('queryCurrentBundleActiveStates promise failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise failed, because: ' + err.code); }); // 异步方法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); + stats.queryCurrentBundleActiveStates(0, 20000000000000, (err, res) => { + if(err.code == 0) { + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback success.'); + for (let i = 0; i < res.length; i++) { + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback result ' + JSON.stringify(res[i])); + } + } else { + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback failed, because: ' + err.code); + } + }); ``` -5. 通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。 +5. 通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO。 ```js - import stats from '@ohos.usagestatskit' + import stats from '@ohos.bundleState' // 异步方法promise方式 stats.queryBundleStateInfoByInterval(0, 0, 20000000000000).then( res => { - console.log('queryBundleStateInfoByInterval promise succeeded, data number: ' + res.length); + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise success.'); 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) + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise result ' + JSON.stringify(res[i])); } }).catch( err => { - console.log('queryBundleStateInfoByiInterval promise failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise failed, because: ' + err.code); }); // 异步方法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); + stats.queryBundleStateInfoByInterval(0, 0, 20000000000000, (err, res) => { + if(err.code == 0) { + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback success.'); + for (let i = 0; i < res.length; i++) { + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback result ' + JSON.stringify(res[i])); } - }) - }, 500); + } else { + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback failed, because: ' + err.code); + } + }); ``` -6. 查询(返回)当前调用者应用的使用优先级群组。 +6. 查询(返回)当前调用者应用的使用优先级群组,config.json中不需要配置权限。 ```js - import stats from '@ohos.usagestatskit' + import stats from '@ohos.bundleState' // 异步方法promise方式 stats.queryAppUsagePriorityGroup().then( res => { - console.log('queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res)); + console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res)); }).catch( err => { - console.log('queryAppUsagePriorityGroup promise failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise failed. because: ' + err.code); }); // 异步方法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); + stats.queryAppUsagePriorityGroup((err, res) => { + if(err.code === 0) { + console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res)); + } else { + console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback failed. because: ' + err.code); + } + }); ``` -7. 判断指定Bundle Name的应用当前是否是空闲状态。 +7. 判断指定Bundle Name的应用当前是否是空闲状态,config.json中不需要配置权限。 ```js - import stats from '@ohos.usagestatskit' + import stats from '@ohos.bundleState' // 异步方法promise方式 stats.isIdleState("com.ohos.camera").then( res => { - console.log('isIdleState promise succeeded. result: ' + JSON.stringify(res)); + console.log('BUNDLE_ACTIVE isIdleState promise succeeded, result: ' + JSON.stringify(res)); }).catch( err => { - console.log('isIdleState promise failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE isIdleState promise failed, because: ' + err.code); }); // 异步方法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); + stats.isIdleState("com.ohos.camera", (err, res) => { + if(err.code === 0) { + console.log('BUNDLE_ACTIVE isIdleState callback succeeded, result: ' + JSON.stringify(res)); + } else { + console.log('BUNDLE_ACTIVE isIdleState callback failed, because: ' + err.code); + } + }); ``` \ 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 2044ec8683c6b9c2b7c9e5b81daa9ce3248aa285..66c2ea874ae4a1a8edf2403db20f81d53045835f 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 @@ -20,5 +20,5 @@ >6. 判断指定应用当前是否是空闲状态; ### 设备使用信息统计使用权限 -- 设备使用信息统计接口只对系统应用开放,三方应用不可调用。 -- 系统应用调用设备使用信息统计接口前,必须申请ohos.permission.BUNDLE_ACTIVE_INFO权限。 \ No newline at end of file +- 设备使用信息统计的queryBundleActiveStates、queryBundleStateInfos、queryBundleStateInfoByInterval接口为系统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 0ff74ddd4019ca2b8bf558c5da2034ec35682199..8a8634363b7ed99e777444ce9c95a747951cd49b 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md +++ b/zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md @@ -7,10 +7,10 @@ ## 导入模块 ``` -import stats from '@ohos.usagestatskit' +import stats from '@ohos.bundleState' ``` -## usagestatskit.isIdleState +## bundleState.isIdleState isIdleState(bundleName: string, callback: AsyncCallback): void - **系统能力**: @@ -26,20 +26,22 @@ SystemCapability.ResourceSchedule.UsageStatistics.AppGroup | bundleName | string | 是 | 应用的bundleName。| | callback | AsyncCallback | 是 | 指定的callback回调方法。如果指定的bundleName有效,则返回指定bundleName的应用当前是否是空闲状态;否则返回null。 | +- **权限**: +无权限 - **示例**: ``` stats.isIdleState("com.ohos.camera", (err, res) => { - if(err.data === 0) { - console.log('isIdleState callback succeeded, result: ' + JSON.stringify(res)); + if(err.code === 0) { + console.log('BUNDLE_ACTIVE isIdleState callback succeeded, result: ' + JSON.stringify(res)); } else { - console.log('isIdleState callback failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE isIdleState callback failed, because: ' + err.code); } }); ``` -## usagestatskit.isIdleState +## bundleState.isIdleState isIdleState(bundleName: string): Promise; - **系统能力**: @@ -60,17 +62,20 @@ SystemCapability.ResourceSchedule.UsageStatistics.AppGroup | -------- | -------- | | Promise | 指定的Promise回调方法。如果指定的bundleName有效,则返回指定bundleName的应用当前是否是空闲状态;否则返回null。 | +- **权限**: +无权限 + - **示例**: ``` stats.isIdleState("com.ohos.camera").then( res => { - console.log('isIdleState callback succeeded, result: ' + JSON.stringify(res)); + console.log('BUNDLE_ACTIVE isIdleState promise succeeded, result: ' + JSON.stringify(res)); }).catch( err => { - console.log('isIdleState callback failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE isIdleState promise failed, because: ' + err.code); }); ``` -## usagestatskit.queryAppUsagePriorityGroup +## bundleState.queryAppUsagePriorityGroup queryAppUsagePriorityGroup(callback: AsyncCallback): void - **系统能力**: @@ -85,19 +90,22 @@ SystemCapability.ResourceSchedule.UsageStatistics.AppGroup | -------- | -------- | -------- | -------- | | callback | AsyncCallback | 是 | 指定的callback回调方法。返回当前调用者应用的使用优先级群组。| +- **权限**: +无权限 + - **示例**: ``` stats.queryAppUsagePriorityGroup((err, res) => { - if(err.data === 0) { - console.log('queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res)); + if(err.code === 0) { + console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res)); } else { - console.log('queryAppUsagePriorityGroup callback failed. because: ' + err.data); + console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback failed. because: ' + err.code); } }); ``` -## usagestatskit.queryAppUsagePriorityGroup +## bundleState.queryAppUsagePriorityGroup queryAppUsagePriorityGroup(): Promise - **系统能力**: @@ -112,17 +120,20 @@ SystemCapability.ResourceSchedule.UsageStatistics.AppGroup | -------- | -------- | | Promise | 指定的Promise回调方法。查询(返回)当前调用者应用的使用优先级群组。| +- **权限**: +无权限 + - **示例**: ``` stats.queryAppUsagePriorityGroup().then( res => { - console.log('queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res)); + console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res)); }).catch( err => { - console.log('queryAppUsagePriorityGroup promise failed. because: ' + err.data); + console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise failed. because: ' + err.code); }); ``` -## usagestatskit.queryBundleStateInfos +## bundleState.queryBundleStateInfos queryBundleStateInfos(begin: number, end: number, callback: AsyncCallback): void - **系统能力**: @@ -139,25 +150,28 @@ SystemCapability.ResourceSchedule.UsageStatistics.App | end | number | 是 | 结束时间。| | callback | AsyncCallback | 是 | 指定的callback回调方法。返回指定起始和结束时间内应用使用时长统计信息。| +- **权限**: +ohos.permission.BUNDLE_ACTIVE_INFO + - **示例**: ``` stats.queryBundleStateInfos(0, 20000000000000, (err, res) => { - console.log('queryBundleStateInfos callback succeeded, data number: ' + res.length); - if(err.data == 0) { + if(err.code == 0) { + console.log('BUNDLE_ACTIVE queryBundleStateInfos callback success.'); + let i = 1; 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) + console.log('BUNDLE_ACTIVE queryBundleStateInfos callback number : ' + i); + console.log('BUNDLE_ACTIVE queryBundleStateInfos callback result ' + JSON.stringify(res[key])); + i++; } } else { - console.log('queryBundleStateInfos callback failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryBundleStateInfos callback failed, because: ' + err.code); } }); ``` -## usagestatskit.queryBundleStateInfos +## bundleState.queryBundleStateInfos queryBundleStateInfos(begin: number, end: number): Promise - **系统能力**: @@ -179,23 +193,26 @@ SystemCapability.ResourceSchedule.UsageStatistics.App | -------- | -------- | | Promise | 指定的Promise回调方法。返回指定起始和结束时间内应用使用时长统计信息。| +- **权限**: +ohos.permission.BUNDLE_ACTIVE_INFO + - **示例**: ``` stats.queryBundleStateInfos(0, 20000000000000).then( res => { - console.log('queryBundleStateInfos promise succeeded, data number: ' + res.length); + console.log('BUNDLE_ACTIVE queryBundleStateInfos promise success.'); + let i = 1; 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) + console.log('BUNDLE_ACTIVE queryBundleStateInfos promise number : ' + i); + console.log('BUNDLE_ACTIVE queryBundleStateInfos promise result ' + JSON.stringify(res[key])); + i++; } }).catch( err => { - console.log('queryBundleStateInfos promise failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryBundleStateInfos promise failed, because: ' + err.code); }); ``` -## usagestatskit.queryBundleStateInfoByInterval +## bundleState.queryBundleStateInfoByInterval queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number, callback: AsyncCallback>): void - **系统能力**: @@ -213,24 +230,26 @@ SystemCapability.ResourceSchedule.UsageStatistics.App | end | number | 是 | 结束时间。| | callback | AsyncCallback> | 是 | 指定的callback回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。| +- **权限**: +ohos.permission.BUNDLE_ACTIVE_INFO + - **示例**: ``` stats.queryBundleStateInfoByInterval(0, 0, 20000000000000, (err, res) => { - console.log('queryBundleStateInfoByInterval callback succeeded, data number: ' + res.length); - if(err.data == 0) { + if(err.code == 0) { + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback success.'); 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) + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback result ' + JSON.stringify(res[i])); } } else { - console.log('queryBundleStateInfoByInterval callback failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback failed, because: ' + err.code); } }); ``` -## usagestatskit.queryBundleStateInfoByInterval +## bundleState.queryBundleStateInfoByInterval queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number): Promise> - **系统能力**: @@ -253,22 +272,24 @@ SystemCapability.ResourceSchedule.UsageStatistics.App | -------- | -------- | | Promise> | 指定的Promise回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。| +- **权限**: +ohos.permission.BUNDLE_ACTIVE_INFO + - **示例**: ``` stats.queryBundleStateInfoByInterval(0, 0, 20000000000000).then( res => { - console.log('queryBundleStateInfoByInterval promise succeeded, data number: ' + res.length); + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise success.'); 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) + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise result ' + JSON.stringify(res[i])); } }).catch( err => { - console.log('queryBundleStateInfoByiInterval promise failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise failed, because: ' + err.code); }); ``` -## usagestatskit.queryBundleActiveStates +## bundleState.queryBundleActiveStates queryBundleActiveStates(begin: number, end: number, callback: AsyncCallback>): void - **系统能力**: @@ -285,24 +306,26 @@ SystemCapability.ResourceSchedule.UsageStatistics.App | end | number | 是 | 结束时间。| | callback | AsyncCallback> | 是 | 指定的callback回调方法。返回指定起始和结束时间查询所有应用的事件集合。| +- **权限**: +ohos.permission.BUNDLE_ACTIVE_INFO + - **示例**: ``` stats.queryBundleActiveStates(0, 20000000000000, (err, res) => { - console.log('queryBundleActiveStates callback succeeded, data number: ' + res.length); - if(err.data == 0) { + if(err.code == 0) { + console.log('BUNDLE_ACTIVE queryBundleActiveStates callback success.'); 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) + console.log('BUNDLE_ACTIVE queryBundleActiveStates callback number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryBundleActiveStates callback result ' + JSON.stringify(res[i])); } } else { - console.log('queryBundleActiveStates callback failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryBundleActiveStates callback failed, because: ' + err.code); } }); ``` -## usagestatskit.queryBundleActiveStates +## bundleState.queryBundleActiveStates queryBundleActiveStates(begin: number, end: number): Promise> - **系统能力**: @@ -324,22 +347,24 @@ SystemCapability.ResourceSchedule.UsageStatistics.App | -------- | -------- | | Promise> | 指定的Promise回调方法。返回指定起始和结束时间查询所有应用的事件集合。| +- **权限**: +ohos.permission.BUNDLE_ACTIVE_INFO + - **示例**: ``` stats.queryBundleActiveStates(0, 20000000000000).then( res => { - console.log('queryBundleActiveStates promise succeeded, data number: ' + res.length); + console.log('BUNDLE_ACTIVE queryBundleActiveStates promise success.'); 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) + console.log('BUNDLE_ACTIVE queryBundleActiveStates promise number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryBundleActiveStates promise result ' + JSON.stringify(res[i])); } }).catch( err => { - console.log('queryBundleActiveStates promise failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryBundleActiveStates promise failed, because: ' + err.code); }); ``` -## usagestatskit.queryCurrentBundleActiveStates +## bundleState.queryCurrentBundleActiveStates queryCurrentBundleActiveStates(begin: number, end: number, callback: AsyncCallback>): void - **系统能力**: @@ -356,24 +381,26 @@ SystemCapability.ResourceSchedule.UsageStatistics.App | end | number | 是 | 结束时间。| | callback | AsyncCallback> | 是 | 指定的callback回调方法。返回指定起始和结束时间查询当前应用的事件集合。| +- **权限**: +无权限 + - **示例**: ``` - stats.queryCurrentBundleActiveStates(0, 20000000000000,(err, res) => { - console.log('queryCurrentBundleActiveStates callback succeeded, data number: ' + res.length); - if(err.data == 0) { + stats.queryCurrentBundleActiveStates(0, 20000000000000, (err, res) => { + if(err.code == 0) { + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback success.'); 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) - } + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback result ' + JSON.stringify(res[i])); + } } else { - console.log('queryCurrentBundleActiveStates callback failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback failed, because: ' + err.code); } }); ``` -## usagestatskit.queryCurrentBundleActiveStates +## bundleState.queryCurrentBundleActiveStates queryCurrentBundleActiveStates(begin: number, end: number): Promise> - **系统能力**: @@ -395,26 +422,30 @@ SystemCapability.ResourceSchedule.UsageStatistics.App | -------- | -------- | | Promise> | 指定的Promise回调方法。返回指定起始和结束时间查询当前应用的事件集合。| +- **权限**: +无权限 + - **示例**: ``` stats.queryCurrentBundleActiveStates(0, 20000000000000).then( res => { - console.log('queryCurrentBundleActiveStates promise succeeded, data number: ' + res.length); + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise success.'); 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) + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise number : ' + (i + 1)); + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise result ' + JSON.stringify(res[i])); } }).catch( err => { - console.log('queryCurrentBundleActiveStates promise failed, because: ' + err.data); + console.log('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise failed, because: ' + err.code); }); ``` -## usagestatskit.BundleStateInfo +## bundleState.BundleStateInfo - **系统能力**: SystemCapability.ResourceSchedule.UsageStatistics.App -提供应用使用时长的具体信息。 +- **参数**: + + 提供应用使用时长的具体信息。 | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -422,11 +453,13 @@ SystemCapability.ResourceSchedule.UsageStatistics.App | abilityPrevAccessTime | number | 是 | 应用最后一次使用的时间。| | abilityInFgTotalTime | number | 是 | 应用在前台使用的总时间。| -## usagestatskit.BundleActiveState +## bundleState.BundleActiveState - **系统能力**: SystemCapability.ResourceSchedule.UsageStatistics.App -提供应用事件的具体信息。 +- **参数**: + + 提供应用事件的具体信息。 | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -434,21 +467,25 @@ SystemCapability.ResourceSchedule.UsageStatistics.App | stateType | number | 是 | 应用事件类型。| | stateOccurredTime | number | 是 | 应用事件发生的时间戳。| -## usagestatskit.BundleActiveInfoResponse +## bundleState.BundleActiveInfoResponse - **系统能力**: SystemCapability.ResourceSchedule.UsageStatistics.App -提供应用使用时长的具体信息。 +- **参数**: + + 提供应用使用时长的具体信息。 | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | [key: string]: BundleStateInfo | BundleStateInfo | 是 | 不同应用的使用时长统计信息。| -## usagestatskit.IntervalType +## bundleState.IntervalType - **系统能力**: SystemCapability.ResourceSchedule.UsageStatistics.App -触发工作的网络类型。 +- **参数**: + + 提供查询的类型 |名称 |默认值 |说明| | -------- | -------- | -------- |