1# @ohos.bundleState (设备使用信息统计)(系统接口) 2 3本模块提供设备使用信息统计能力。 4 5设备使用信息统计,系统应用可调用接口实现如下功能: 6 7- 查询设备上各应用在不同时间段的使用时长、各应用的事件(前台、后台、长时任务开始、长时任务结束)信息及各应用的通知次数信息。 8- 查询应用分组信息(仅限自身应用)。 9- 查询应用空闲状态(其他应用和自身应用)。 10 11> **说明:** 12> 13> 从API version9开始,该接口不再维护,推荐使用新接口[@ohos.resourceschedule.usageStatistics (设备使用信息统计)(系统接口)](js-apis-resourceschedule-deviceUsageStatistics-sys.md) 14> 15> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 16> 17> 本模块为系统接口,其他公开接口请参见[@ohos.bundleState (设备使用信息统计)](js-apis-deviceUsageStatistics.md)。 18 19## 导入模块 20 21```js 22import bundleState from '@ohos.bundleState' 23``` 24 25## bundleState.queryBundleStateInfos 26 27queryBundleStateInfos(begin: number, end: number, callback: AsyncCallback<BundleActiveInfoResponse>): void 28 29通过指定起始和结束时间查询应用使用时长统计信息,使用Callback形式返回。 30 31**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO 32 33**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App 34 35**系统API**:此接口为系统接口,三方应用不支持调用。 36 37**参数**: 38 39| 参数名 | 类型 | 必填 | 说明 | 40| -------- | ---------------------------------------- | ---- | --------------------------------------- | 41| begin | number | 是 | 起始时间,单位毫秒。 | 42| end | number | 是 | 结束时间,单位毫秒。 | 43| callback | AsyncCallback<[BundleActiveInfoResponse](js-apis-deviceUsageStatistics.md#bundleactiveinforesponse)> | 是 | 指定的callback回调方法。返回指定起始和结束时间内应用使用时长统计信息。 | 44 45**示例**: 46 47```ts 48import { BusinessError } from '@ohos.base'; 49 50bundleState.queryBundleStateInfos(0, 20000000000000, (err: BusinessError , 51 res: bundleState.BundleActiveInfoResponse ) => { 52 if (err) { 53 console.error('BUNDLE_ACTIVE queryBundleStateInfos callback failed, because: ' + err.code); 54 } else { 55 console.log('BUNDLE_ACTIVE queryBundleStateInfos callback success.'); 56 console.log('BUNDLE_ACTIVE queryBundleStateInfos callback result ' + JSON.stringify(res)); 57 } 58}); 59``` 60 61## bundleState.queryBundleStateInfos 62 63queryBundleStateInfos(begin: number, end: number): Promise<BundleActiveInfoResponse> 64 65通过指定起始和结束时间查询应用使用时长统计信息,使用Promise形式返回。 66 67**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO 68 69**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App 70 71**系统API**:此接口为系统接口,三方应用不支持调用。 72 73**参数**: 74 75| 参数名 | 类型 | 必填 | 说明 | 76| ----- | ------ | ---- | ----- | 77| begin | number | 是 | 起始时间,单位毫秒。 | 78| end | number | 是 | 结束时间,单位毫秒。 | 79 80**返回值**: 81 82| 类型 | 说明 | 83| ---------------------------------------- | -------------------------------------- | 84| Promise<[BundleActiveInfoResponse](js-apis-deviceUsageStatistics.md#bundleactiveinforesponse)> | 指定的Promise回调方法。返回指定起始和结束时间内应用使用时长统计信息。 | 85 86**示例**: 87 88```ts 89import { BusinessError } from '@ohos.base'; 90 91bundleState.queryBundleStateInfos(0, 20000000000000).then((res: bundleState.BundleActiveInfoResponse) => { 92 console.log('BUNDLE_ACTIVE queryBundleStateInfos promise success.'); 93 console.log('BUNDLE_ACTIVE queryBundleStateInfos promise result ' + JSON.stringify(res)); 94}).catch((err: BusinessError) => { 95 console.error('BUNDLE_ACTIVE queryBundleStateInfos promise failed, because: ' + err.code); 96}); 97``` 98 99## bundleState.queryBundleStateInfoByInterval 100 101queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number, callback: AsyncCallback<Array<BundleStateInfo>>): void 102 103通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Callback形式返回。 104 105**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO 106 107**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App 108 109**系统API**:此接口为系统接口,三方应用不支持调用。 110 111**参数**: 112 113| 参数名 | 类型 | 必填 | 说明 | 114| ---------- | ---------------------------------------- | ---- | ---------------------------------------- | 115| byInterval | [IntervalType](js-apis-deviceUsageStatistics.md#intervaltype) | 是 | 查询类型。 | 116| begin | number | 是 | 起始时间,单位毫秒。 | 117| end | number | 是 | 结束时间,单位毫秒。 | 118| callback | AsyncCallback<Array<[BundleStateInfo](js-apis-deviceUsageStatistics.md#bundlestateinfo)>> | 是 | 指定的callback回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。 | 119 120**示例**: 121 122```ts 123import { BusinessError } from '@ohos.base'; 124 125bundleState.queryBundleStateInfoByInterval(bundleState.IntervalType.BY_OPTIMIZED, 0, 20000000000000, (err: BusinessError, res: Array<bundleState.BundleStateInfo>) => { 126 if (err) { 127 console.error('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback failed, because: ' + err.code); 128 } else { 129 console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback success.'); 130 for (let i = 0; i < res.length; i++) { 131 console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback number : ' + (i + 1)); 132 console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback result ' + JSON.stringify(res[i])); 133 } 134 } 135}); 136``` 137 138## bundleState.queryBundleStateInfoByInterval 139 140queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number): Promise<Array<BundleStateInfo>> 141 142通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,使用Promise形式返回。 143 144**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO 145 146**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App 147 148**系统API**:此接口为系统接口,三方应用不支持调用。 149 150**参数**: 151 152| 参数名 | 类型 | 必填 | 说明 | 153| ---------- | ----------------------------- | ---- | ----- | 154| byInterval | [IntervalType](js-apis-deviceUsageStatistics.md#intervaltype) | 是 | 查询类型。 | 155| begin | number | 是 | 起始时间,单位毫秒。 | 156| end | number | 是 | 结束时间,单位毫秒。 | 157 158**返回值**: 159 160| 类型 | 说明 | 161| ---------------------------------------- | ---------------------------------------- | 162| Promise<Array<[BundleStateInfo](js-apis-deviceUsageStatistics.md#bundlestateinfo)>> | 指定的Promise回调方法。返回指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。 | 163 164**示例**: 165 166```ts 167import { BusinessError } from '@ohos.base'; 168 169bundleState.queryBundleStateInfoByInterval(bundleState.IntervalType.BY_OPTIMIZED, 0, 20000000000000).then((res: Array<bundleState.BundleStateInfo>) => { 170 console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise success.'); 171 for (let i = 0; i < res.length; i++) { 172 console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise number : ' + (i + 1)); 173 console.log('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise result ' + JSON.stringify(res[i])); 174 } 175}).catch((err: BusinessError) => { 176 console.error('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise failed, because: ' + err.code); 177}); 178``` 179 180## bundleState.queryBundleActiveStates 181 182queryBundleActiveStates(begin: number, end: number, callback: AsyncCallback<Array<BundleActiveState>>): void 183 184通过指定起始和结束时间查询所有应用的事件集合,使用Callback形式返回。 185 186**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO 187 188**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App 189 190**系统API**:此接口为系统接口,三方应用不支持调用。 191 192**参数**: 193 194| 参数名 | 类型 | 必填 | 说明 | 195| -------- | ---------------------------------------- | ---- | --------------------------------------- | 196| begin | number | 是 | 起始时间,单位毫秒。 | 197| end | number | 是 | 结束时间,单位毫秒。 | 198| callback | AsyncCallback<Array<[BundleActiveState](js-apis-deviceUsageStatistics.md#bundleactivestate)>> | 是 | 指定的callback回调方法。返回指定起始和结束时间查询所有应用的事件集合。 | 199 200**示例**: 201 202```ts 203import { BusinessError } from '@ohos.base'; 204 205bundleState.queryBundleActiveStates(0, 20000000000000, (err: BusinessError, res: Array<bundleState.BundleActiveState>) => { 206 if (err) { 207 console.error('BUNDLE_ACTIVE queryBundleActiveStates callback failed, because: ' + err.code); 208 } else { 209 console.log('BUNDLE_ACTIVE queryBundleActiveStates callback success.'); 210 for (let i = 0; i < res.length; i++) { 211 console.log('BUNDLE_ACTIVE queryBundleActiveStates callback number : ' + (i + 1)); 212 console.log('BUNDLE_ACTIVE queryBundleActiveStates callback result ' + JSON.stringify(res[i])); 213 } 214 } 215}); 216``` 217 218## bundleState.queryBundleActiveStates 219 220queryBundleActiveStates(begin: number, end: number): Promise<Array<BundleActiveState>> 221 222通过指定起始和结束时间查询所有应用的事件集合,使用Promise形式返回。 223 224**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO 225 226**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.App 227 228**系统API**:此接口为系统接口,三方应用不支持调用。 229 230**参数**: 231 232| 参数名 | 类型 | 必填 | 说明 | 233| ----- | ------ | ---- | ----- | 234| begin | number | 是 | 起始时间,单位毫秒。 | 235| end | number | 是 | 结束时间,单位毫秒。 | 236 237**返回值**: 238 239| 类型 | 说明 | 240| ---------------------------------------- | -------------------------------------- | 241| Promise<Array<[BundleActiveState](js-apis-deviceUsageStatistics.md#bundleactivestate)>> | 指定的Promise回调方法。返回指定起始和结束时间查询所有应用的事件集合。 | 242 243**示例**: 244 245```ts 246import { BusinessError } from '@ohos.base'; 247 248bundleState.queryBundleActiveStates(0, 20000000000000).then((res: Array<bundleState.BundleActiveState>) => { 249 console.log('BUNDLE_ACTIVE queryBundleActiveStates promise success.'); 250 for (let i = 0; i < res.length; i++) { 251 console.log('BUNDLE_ACTIVE queryBundleActiveStates promise number : ' + (i + 1)); 252 console.log('BUNDLE_ACTIVE queryBundleActiveStates promise result ' + JSON.stringify(res[i])); 253 } 254}).catch((err: BusinessError) => { 255 console.error('BUNDLE_ACTIVE queryBundleActiveStates promise failed, because: ' + err.code); 256}); 257```