未验证 提交 11d945ac 编写于 作者: O openharmony_ci 提交者: Gitee

!5038 应用分组信息docs更新

Merge pull request !5038 from yp99ustc/master
...@@ -19,11 +19,18 @@ import stats from '@ohos.bundleState'; ...@@ -19,11 +19,18 @@ import stats from '@ohos.bundleState';
| function queryBundleStateInfos(begin: number, end: number, callback: AsyncCallback<BundleActiveInfoResponse>): void | 通过指定起始和结束时间查询应用使用时长统计信息。 | | function queryBundleStateInfos(begin: number, end: number, callback: AsyncCallback<BundleActiveInfoResponse>): void | 通过指定起始和结束时间查询应用使用时长统计信息。 |
| function queryCurrentBundleActiveStates(begin: number, end: number, callback: AsyncCallback<Array<BundleActiveState>>): 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 queryBundleStateInfoByInterval(byInterval: IntervalType, begin: number, end: number, callback: AsyncCallback<Array<BundleStateInfo>>): void | 通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息。 |
| function queryAppUsagePriorityGroup(callback: AsyncCallback<number>): void | 查询(返回)当前调用者应用的使用优先级群组。 | | function queryAppUsagePriorityGroup(bundleName? : string, callback: AsyncCallback<number>): void | 查询当前调用者应用或者指定应用的使用优先级群组。callback形式。 |
| function queryAppUsagePriorityGroup(bundleName? : string): Promise<number>; | 查询当前调用者应用或者指定应用的使用优先级群组。promise形式。 |
| function isIdleState(bundleName: string, callback: AsyncCallback&lt;boolean&gt;): void | 判断指定Bundle Name的应用当前是否是空闲状态。 | | function isIdleState(bundleName: string, callback: AsyncCallback&lt;boolean&gt;): void | 判断指定Bundle Name的应用当前是否是空闲状态。 |
| function getRecentlyUsedModules(maxNum: number, callback: AsyncCallback&lt;BundleActiveModuleInfo&gt;): void | 根据maxNum,查询FA使用记录,返回不超过maxNum条FA使用记录。 | | function getRecentlyUsedModules(maxNum: number, callback: AsyncCallback&lt;BundleActiveModuleInfo&gt;): void | 根据maxNum,查询FA使用记录,返回不超过maxNum条FA使用记录。 |
| function queryAppNotificationNumber(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleActiveEventState&gt;&gt;): void | 通过指定起始和结束时间查询所有应用的通知次数。 | | function queryAppNotificationNumber(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleActiveEventState&gt;&gt;): void | 通过指定起始和结束时间查询所有应用的通知次数。 |
| function queryBundleActiveEventStates(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleActiveEventState&gt;&gt;): void | 通过指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。 | | function queryBundleActiveEventStates(begin: number, end: number, callback: AsyncCallback&lt;Array&lt;BundleActiveEventState&gt;&gt;): void | 通过指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。 |
| function setBundleGroup(bundleName : string, newGroup: GroupType, callback: AsyncCallback<boolean>): void | 给应用名是bundleName的应用分组设置成newGroup,返回设置结果是否成功,以callback形式返回。 |
| function setBundleGroup(bundleName : string, newGroup : GroupType): Promise<boolean>; | 给应用名是bundleName的应用分组设置成newGroup,返回设置结果是否成功,以promise形式返回。 |
| function registerGroupCallBack(callback: Callback<BundleActiveGroupCallbackInfo>, callback: AsyncCallback<boolean>): void | 注册应用分组变化监听回调,返回注册是否成功,当应用分组发生变化时,会给所有已注册的监听者返回回调信息,以callback形式返回。 |
| function registerGroupCallBack(callback: Callback<BundleActiveGroupCallbackInfo>): Promise<boolean>; | 注册应用分组变化监听回调,返回注册是否成功,当应用分组发生变化时,会给所有已注册的监听者返回回调信息,以promise形式返回。 |
| function unRegisterGroupCallBack(callback: AsyncCallback<boolean>): void | 解除应用分组监听回调,以callback形式返回。 |
| function unRegisterGroupCallBack(): Promise<boolean>; | 解除应用分组监听回调,以promise形式返回。 |
## 开发步骤 ## 开发步骤
...@@ -165,19 +172,19 @@ import stats from '@ohos.bundleState'; ...@@ -165,19 +172,19 @@ import stats from '@ohos.bundleState';
}); });
``` ```
6. 查询(返回)当前调用者应用的使用优先级群组,config.json中不需要配置权限 6. 查询(无参)当前调用者应用的使用优先级群组,config.json中不需要配置权限。查询(有参)指定应用的使用优先级群组,config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO
```js ```js
import stats from '@ohos.bundleState' import stats from '@ohos.bundleState'
// 异步方法promise方式 // 无参异步方法promise方式
stats.queryAppUsagePriorityGroup().then( res => { stats.queryAppUsagePriorityGroup().then( res => {
console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res)); console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res));
}).catch( err => { }).catch( err => {
console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise failed. because: ' + err.code); console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise failed. because: ' + err.code);
}); });
// 异步方法callback方式 // 无参异步方法callback方式
stats.queryAppUsagePriorityGroup((err, res) => { stats.queryAppUsagePriorityGroup((err, res) => {
if (err) { if (err) {
console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback failed. because: ' + err.code); console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback failed. because: ' + err.code);
...@@ -185,6 +192,22 @@ import stats from '@ohos.bundleState'; ...@@ -185,6 +192,22 @@ import stats from '@ohos.bundleState';
console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res)); console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res));
} }
}); });
//有参异步promise方式
stats.queryAppUsagePriorityGroup(this.bundleName).then( res => {
console.log('BUNDLE_ACTIVE QueryPackageGroup promise succeeded. result: ' + JSON.stringify(res));
}).catch( err => {
console.log('BUNDLE_ACTIVE QueryPackageGroup promise failed. because: ' + err.code);
});
//有参异步方法callback方式
stats.queryAppUsagePriorityGroup(this.bundleName, (err, res) => {
if(err) {
console.log('BUNDLE_ACTIVE QueryPackageGroup callback failed. because: ' + err.code);
} else {
console.log('BUNDLE_ACTIVE QueryPackageGroup callback succeeded. result: ' + JSON.stringify(res));
}
});
``` ```
7. 判断指定Bundle Name的应用当前是否是空闲状态,config.json中不需要配置权限。 7. 判断指定Bundle Name的应用当前是否是空闲状态,config.json中不需要配置权限。
...@@ -291,7 +314,7 @@ import stats from '@ohos.bundleState'; ...@@ -291,7 +314,7 @@ import stats from '@ohos.bundleState';
```js ```js
import stats from '@ohos.bundleState' import stats from '@ohos.bundleState'
// 异步方法promise方式 // 异步方法promise方式
stats.queryBundleActiveEventStates(0, 20000000000000).then( res => { stats.queryBundleActiveEventStates(0, 20000000000000).then( res => {
console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise success.'); console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise success.');
...@@ -299,7 +322,7 @@ import stats from '@ohos.bundleState'; ...@@ -299,7 +322,7 @@ import stats from '@ohos.bundleState';
}).catch( err => { }).catch( err => {
console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise failed, because: ' + err.code); console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise failed, because: ' + err.code);
}); });
// 异步方法callback方式 // 异步方法callback方式
stats.queryBundleActiveEventStates(0, 20000000000000, (err, res) => { stats.queryBundleActiveEventStates(0, 20000000000000, (err, res) => {
if (err) { if (err) {
...@@ -309,4 +332,86 @@ import stats from '@ohos.bundleState'; ...@@ -309,4 +332,86 @@ import stats from '@ohos.bundleState';
console.log('BUNDLE_ACTIVE queryBundleActiveEventStates callback result ' + JSON.stringify(res)); console.log('BUNDLE_ACTIVE queryBundleActiveEventStates callback result ' + JSON.stringify(res));
} }
}); });
``` ```
\ No newline at end of file
11. 给应用名是bundleName的应用分组设置成newGroup,返回设置结果是否成功
```javascript
import stats from '@ohos.bundleState'
//异步方法promise
stats.setBundleGroup(this.bundleName, this.newGroup).then( res => {
console.log('BUNDLE_ACTIVE SetBundleGroup promise succeeded. result: ' + JSON.stringify(res));
}).catch( err => {
console.log('BUNDLE_ACTIVE SetBundleGroup promise failed. because: ' + err.code);
});
//异步方法callback
stats.setBundleGroup(this.bundleName, this.newGroup, (err, res) => {
if(err) {
console.log('BUNDLE_ACTIVE SetBundleGroup callback failed. because: ' + err.code);
} else {
console.log('BUNDLE_ACTIVE SetBundleGroup callback succeeded. result: ' + JSON.stringify(res));
}
});
```
12. 注册应用分组变化监听回调,返回注册是否成功,当应用分组发生变化时,会给所有已注册的监听者返回回调信息
```javascript
import stats from '@ohos.bundleState'
//异步方法promise形式
let onBundleGroupChanged = (err,res) =>{
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack callback success.');
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result oldGroup is : ' + res.oldGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result newGroup is : ' + res.newGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result changeReason is : ' + res.newGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result userId is : ' + res.userId);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result bundleName is : ' + res.bundleName);
};
stats.registerGroupCallBack(onBundleGroupChanged).then( res => {
console.log('BUNDLE_ACTIVE RegisterGroupCallBack promise succeeded. result1: ' + JSON.stringify(res));
}).catch( err => {
console.log('BUNDLE_ACTIVE RegisterGroupCallBack promise failed. because: ' + err.code);
});
//异步方法callback形式
let onBundleGroupChanged = (err,res) =>{
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack callback success.');
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result‘s oldGroup is : ' + res.oldGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result‘s newGroup is : ' + res.newGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result‘s changeReason is : ' + res.newGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result‘s userId is : ' + res.userId);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result‘s bundleName is : ' + res.bundleName);
};
stats.registerGroupCallBack(onBundleGroupChanged, (err,res)=>{
if(err) {
console.log('BUNDLE_ACTIVE RegisterGroupCallBack callback failed, because: ' + err.code);
} else {
console.log('BUNDLE_ACTIVE RegisterGroupCallBack callback success.');
console.log('BUNDLE_ACTIVE RegisterGroupCallBack result is : ' + JSON.stringify(res));
}
});
```
13. 解除应用分组监听回调
```javascript
import stats from '@ohos.bundleState'
//promise
stats.unRegisterGroupCallBack().then( res => {
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack promise succeeded. result: ' + JSON.stringify(res));
}).catch( err => {
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack promise failed. because: ' + err.code);
});
//callback
stats.unRegisterGroupCallBack((err,res)=>{
if(err) {
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack callback failed, because: ' + err.code);
} else {
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack callback success.');
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack result is : ' + JSON.stringify(res));
}
});
```
...@@ -16,12 +16,24 @@ ...@@ -16,12 +16,24 @@
2. 根据起止时间查询应用的使用时长。 2. 根据起止时间查询应用的使用时长。
3. 根据起止时间查询当前应用的事件集合。 3. 根据起止时间查询当前应用的事件集合。
4. 根据interval(日、周、月、年)类型和起止时间查询应用的使用时长。 4. 根据interval(日、周、月、年)类型和起止时间查询应用的使用时长。
5. 查询调用者应用的优先级群组。 5. 查询调用者应用或指定应用的优先级群组。
6. 判断指定应用当前是否是空闲状态。 6. 判断指定应用当前是否是空闲状态。
7. 查询FA使用记录。返回数量最大不超过maxNum设置的值,FA使用记录由近及远排序,maxNum最大为1000,若不填写maxNum参数,则maxNum默认为1000。 7. 查询FA使用记录。返回数量最大不超过maxNum设置的值,FA使用记录由近及远排序,maxNum最大为1000,若不填写maxNum参数,则maxNum默认为1000。
8. 根据起止时间查询应用通知次数。 8. 根据起止时间查询应用通知次数。
9. 根据起止时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。 9. 根据起止时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。
- 设置接口
1. 给应用名称为bundleName的应用分组设置为newGroup。
- 注册接口
1. 注册应用分组变化回调监听,当应用分组发生变化,会给所有已注册的应用返回变化信息
- 解注册接口
1. 解除注册应用分组变化回调监听
### 设备使用信息统计使用权限 ### 设备使用信息统计使用权限
- 设备使用信息统计的queryBundleActiveStates、queryBundleStateInfos、queryBundleStateInfoByInterval、queryBundleActiveEventStates、queryAppNotificationNumber接口为系统api,调用前需要申请ohos.permission.BUNDLE_ACTIVE_INFO权限。 - 设备使用信息统计的queryBundleActiveStates、queryBundleStateInfos、queryBundleStateInfoByInterval、queryBundleActiveEventStates、queryAppNotificationNumber、queryAppUsagePriorityGroup(有参)、setBundleGroup、registerGroupCallBack、unRegisterGroupCallBack接口为系统api,调用前需要申请ohos.permission.BUNDLE_ACTIVE_INFO权限。
- 设备使用信息统计的queryCurrentBundleActiveStates、queryAppUsagePriorityGroup、isIdleState接口为三方api,调用时不需要申请权限。 - 设备使用信息统计的queryCurrentBundleActiveStates、queryAppUsagePriorityGroup(无参)、isIdleState接口为三方api,调用时不需要申请权限。
\ No newline at end of file \ No newline at end of file
...@@ -69,53 +69,80 @@ isIdleState(bundleName: string): Promise&lt;boolean&gt; ...@@ -69,53 +69,80 @@ isIdleState(bundleName: string): Promise&lt;boolean&gt;
## bundleState.queryAppUsagePriorityGroup ## bundleState.queryAppUsagePriorityGroup
queryAppUsagePriorityGroup(callback: AsyncCallback&lt;number&gt;): void queryAppUsagePriorityGroup(bundleName? : string): Promise<number>
查询(返回)当前调用者应用的使用优先级群组,使用Callback形式返回。 可选参数。设置该参数时查询指定bundleName对应应用的分组。无参数时查询当前应用的分组。使用Promise形式返回其应用分组。
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup **系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
**参数** **参数**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ----------------------- | ------ | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback&lt;number&gt; | 是 | 指定的callback回调方法。返回当前调用者应用的使用优先级群组。| | bundleName<sup>9+</sup> | string | 否 | 可选参数。设置该参数时查询指定bundleName对应应用的分组。无参数时查询当前应用的分组。 |
**返回值**
| 类型 | 说明 |
| --------------- | ----------------------------------------------- |
| Promise<number> | 指定的Promise回调方法。返回查询的应用分组结果。 |
**示例** **示例**
```js ```javascript
bundleState.queryAppUsagePriorityGroup((err, res) => { //有bundleName的promise
if (err) { bundleState.queryAppUsagePriorityGroup(this.bundleName).then( res => {
console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback failed. because: ' + err.code); console.log('BUNDLE_ACTIVE QueryPackageGroup promise succeeded. result: ' + JSON.stringify(res));
} else { }).catch( err => {
console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback succeeded. result: ' + JSON.stringify(res)); console.log('BUNDLE_ACTIVE QueryPackageGroup promise failed. because: ' + err.code);
} });
}); //无bundleName的promise
``` bundleState.queryAppUsagePriorityGroup().then( res => {
console.log('BUNDLE_ACTIVE QueryPackageGroup promise succeeded. result: ' + JSON.stringify(res));
}).catch( err => {
console.log('BUNDLE_ACTIVE QueryPackageGroup promise failed. because: ' + err.code);
});
```
## bundleState.queryAppUsagePriorityGroup ## bundleState.queryAppUsagePriorityGroup
queryAppUsagePriorityGroup(): Promise&lt;number&gt; queryAppUsagePriorityGroup(bundleName? : string, callback: AsyncCallback<number>): void
查询(返回)当前调用者应用的使用优先级群组,使用Promise形式返回。 可选参数。设置该参数时查询指定bundleName对应应用的分组。无参数时查询当前应用的分组。使用callback形式返回其应用分组。
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup **系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
**返回值** **参数**
| 类型 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | | ----------------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| Promise&lt;number&gt; | 指定的Promise回调方法。查询(返回)当前调用者应用的使用优先级群组。| | bundleName<sup>9+</sup> | string | 否 | 可选参数。设置该参数时查询指定bundleName对应应用的分组。无参数时查询当前应用的分组。 |
| callback | AsyncCallback&lt;Array&lt;[BundleActiveModuleInfo](#bundleactivemoduleinfo9)&gt;&gt; | 是 | 指定的CallBack回调方法。返回查询的应用分组。 |
**示例** **示例**
```js ```javascript
bundleState.queryAppUsagePriorityGroup().then( res => { //有bundleName的callback
console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res)); bundleState.queryAppUsagePriorityGroup(this.bundleName, (err, res) => {
}).catch( err => { if(err) {
console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise failed. because: ' + err.code); console.log('BUNDLE_ACTIVE QueryPackageGroup callback failed. because: ' + err.code);
}); } else {
``` console.log('BUNDLE_ACTIVE QueryPackageGroup callback succeeded. result: ' + JSON.stringify(res));
}
});
//无bundleName的callback
bundleState.queryAppUsagePriorityGroup((err, res) => {
if(err) {
console.log('BUNDLE_ACTIVE QueryPackageGroup callback failed. because: ' + err.code);
} else {
console.log('BUNDLE_ACTIVE QueryPackageGroup callback succeeded. result: ' + JSON.stringify(res));
}
});
```
## bundleState.queryBundleStateInfos ## bundleState.queryBundleStateInfos
...@@ -496,6 +523,210 @@ getRecentlyUsedModules(maxNum?: number, callback: AsyncCallback&lt;Array&lt;Bund ...@@ -496,6 +523,210 @@ getRecentlyUsedModules(maxNum?: number, callback: AsyncCallback&lt;Array&lt;Bund
}); });
``` ```
## bundleState.setBundleGroup<sup>9+</sup>
setBundleGroup(bundleName: string, newGroup: GroupType): Promise<boolean>
将指定的bundleName的应用的分组设置为newGroup,使用Promise形式返回设置是否成功。
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | --------- | ---- | -------- |
| bundleName | string | 是 | 应用名称 |
| newGroup | GroupType | 是 | 应用分组 |
**返回值**
| 类型 | 说明 |
| ---------------- | ------------------------------------------- |
| Promise<boolean> | 指定的Promise回调方法。返回本次设置是否成功 |
**示例**
```javascript
this.bundleName = "com.example.deviceUsageStatistics";
this.newGroup = stats.GroupType.ACTIVE_GROUP_DAILY;
bundleState.setBundleGroup(this.bundleName, this.newGroup).then( res => {
console.log('BUNDLE_ACTIVE SetBundleGroup promise succeeded. result: ' + JSON.stringify(res));
}).catch( err => {
console.log('BUNDLE_ACTIVE SetBundleGroup promise failed. because: ' + err.code);
});
```
## bundleState.setBundleGroup<sup>9+</sup>
setBundleGroup(bundleName: string, newGroup: GroupType, callback: AsyncCallback<boolean>): void
将指定的bundleName的应用的分组设置为newGroup,使用CallBack形式返回设置是否成功。
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ---------------------- | ---- | ------------------------------------------ |
| bundleName | string | 是 | 应用名称 |
| newGroup | GroupType | 是 | 应用分组 |
| callback | AsyncCallback<boolean> | 是 | 指定的CallBack回调方法。返回设置是否成功。 |
**示例**
```javascript
this.bundleName = "com.example.deviceUsageStatistics";
this.newGroup = stats.GroupType.ACTIVE_GROUP_DAILY;
bundleState.setBundleGroup(this.bundleName, this.newGroup, (err, res) => {
if(err) {
console.log('BUNDLE_ACTIVE SetBundleGroup callback failed. because: ' + err.code);
} else {
console.log('BUNDLE_ACTIVE SetBundleGroup callback succeeded. result: ' + JSON.stringify(res));
}
});
```
## bundleState.registerGroupCallBack<sup>9+</sup>
registerGroupCallBack(callback: Callback<BundleActiveGroupCallbackInfo>): Promise<boolean>
应用分组变化注册,待用户名下的某个应用分组发生变化时,通过callback形式向所有已注册的应用返回BundleActiveGroupCallbackInfo。使用Promise形式返回注册是否成功。
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ---------------------- |
| callback | Callback<BundleActiveGroupCallbackInfo> | 是 | 应用分组变化的回调函数 |
**返回值**
| 类型 | 说明 |
| ---------------- | --------------------------------------- |
| Promise<boolean> | 指定的Promise回调方法。返回注册是否成功 |
**示例**
```javascript
let onBundleGroupChanged = (err,res) =>{
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack callback success.');
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result oldGroup is : ' + res.oldGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result newGroup is : ' + res.newGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result changeReason is : ' + res.newGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result userId is : ' + res.userId);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result bundleName is : ' + res.bundleName);
};
bundleState.registerGroupCallBack(onBundleGroupChanged).then( res => {
console.log('BUNDLE_ACTIVE RegisterGroupCallBack promise succeeded. result1: ' + JSON.stringify(res));
}).catch( err => {
console.log('BUNDLE_ACTIVE RegisterGroupCallBack promise failed. because: ' + err.code);
});
```
## bundleState.registerGroupCallBack<sup>9+</sup>
registerGroupCallBack(callback: Callback<BundleActiveGroupCallbackInfo>, callback: AsyncCallback<boolean>): void
应用分组变化注册,待用户名下的某个应用分组发生变化时,通过callback形式向所有已注册的应用返回BundleActiveGroupCallbackInfo。使用异步callback形式返回注册是否成功。
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | -------------------------- |
| callback | Callback<BundleActiveGroupCallbackInfo> | 是 | 应用分组变化的回调函数 |
| callback | AsyncCallback<boolean> | 是 | 注册是否成功的异步回调函数 |
**示例**
```javascript
let onBundleGroupChanged = (err,res) =>{
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack callback success.');
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result‘s oldGroup is : ' + res.oldGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result‘s newGroup is : ' + res.newGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result‘s changeReason is : ' + res.newGroup);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result‘s userId is : ' + res.userId);
console.log('BUNDLE_ACTIVE onBundleGroupChanged RegisterGroupCallBack result‘s bundleName is : ' + res.bundleName);
};
bundleState.registerGroupCallBack(onBundleGroupChanged, (err,res)=>{
if(err) {
console.log('BUNDLE_ACTIVE RegisterGroupCallBack callback failed, because: ' + err.code);
} else {
console.log('BUNDLE_ACTIVE RegisterGroupCallBack callback success.');
console.log('BUNDLE_ACTIVE RegisterGroupCallBack result is : ' + JSON.stringify(res));
}
});
```
## bundleState.unRegisterGroupCallBack<sup>9+</sup>
unRegisterGroupCallBack(): Promise<boolean>
应用分组变化解注册,将之前注册的解除注册。使用Promise形式返回注册是否成功。
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
**参数**:无参数
**返回值**
| 类型 | 说明 |
| ---------------- | ----------------------------------------- |
| Promise<boolean> | 指定的Promise回调方法。返回解注册是否成功 |
**示例**
```javascript
bundleState.unRegisterGroupCallBack().then( res => {
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack promise succeeded. result: ' + JSON.stringify(res));
}).catch( err => {
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack promise failed. because: ' + err.code);
});
```
## bundleState.unRegisterGroupCallBack<sup>9+</sup>
unRegisterGroupCallBack(callback: AsyncCallback<boolean>): void;
应用分组变化解注册,将之前注册的解除注册。使用异步callback形式返回注册是否成功。
**需要权限**:ohos.permission.BUNDLE_ACTIVE_INFO
**系统能力**:SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ---------------------------- |
| callback | AsyncCallback<boolean> | 是 | 解注册是否成功的异步回调函数 |
**示例**
```javascript
bundleState.unRegisterGroupCallBack((err,res)=>{
if(err) {
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack callback failed, because: ' + err.code);
} else {
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack callback success.');
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack result is : ' + JSON.stringify(res));
}
});
```
## bundleState.queryBundleActiveEventStates<sup>9+</sup> ## bundleState.queryBundleActiveEventStates<sup>9+</sup>
queryBundleActiveEventStates(begin: number, end: number): Promise&lt;Array&lt;BundleActiveEventState&gt;&gt; queryBundleActiveEventStates(begin: number, end: number): Promise&lt;Array&lt;BundleActiveEventState&gt;&gt;
...@@ -660,12 +891,27 @@ FA卡片的使用信息的属性集合。 ...@@ -660,12 +891,27 @@ FA卡片的使用信息的属性集合。
| formLastUsedTime | number | 是 | 卡片的上一次点击时间。| | formLastUsedTime | number | 是 | 卡片的上一次点击时间。|
| count | number | 是 | 卡片的点击次数。| | count | number | 是 | 卡片的点击次数。|
## BundleActiveGroupCallbackInfo<sup>9+</sup>
应用分组变化回调返回的属性集合
**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
| 参数名 | 类型 | 必填 | 说明 |
| ---------------- | ------ | ---- | ---------------- |
| appUsageOldGroup | number | 是 | 修改前的应用分组 |
| appUsageNewGroup | number | 是 | 修改后的应用分组 |
| useId | number | 是 | 用户id |
| changeReason | number | 是 | 分组变化原因 |
| bundleName | string | 是 | 应用名称 |
## BundleStateInfo ## BundleStateInfo
提供应用使用时长的具体信息。 提供应用使用时长的具体信息。
### 属性 ### 属性
**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App **系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
...@@ -745,4 +991,19 @@ merge(toMerge: BundleStateInfo): void ...@@ -745,4 +991,19 @@ merge(toMerge: BundleStateInfo): void
| BY_DAILY | 1 | 表示系统按照天去查询指定时间段间隔的应用使用时长信息。| | BY_DAILY | 1 | 表示系统按照天去查询指定时间段间隔的应用使用时长信息。|
| BY_WEEKLY | 2 | 表示系统按照周去查询指定时间段间隔的应用使用时长信息。| | BY_WEEKLY | 2 | 表示系统按照周去查询指定时间段间隔的应用使用时长信息。|
| BY_MONTHLY | 3 | 表示系统按照月去查询指定时间段间隔的应用使用时长信息。| | BY_MONTHLY | 3 | 表示系统按照月去查询指定时间段间隔的应用使用时长信息。|
| BY_ANNUALLY | 4 | 表示系统按照年去查询指定时间段间隔的应用使用时长信息。| | BY_ANNUALLY | 4 | 表示系统按照年去查询指定时间段间隔的应用使用时长信息。|
\ No newline at end of file
## GroupType
提供应用分组的设置类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
| 名称 | 默认值 | 说明 |
| ------------------ | ------ | ---------------------------------- |
| ACTIVE_GROUP_ALIVE | 10 | 活跃分组 |
| ACTIVE_GROUP_DAILY | 20 | 经常使用,但当前并未在活跃态 |
| ACTIVE_GROUP_FIXED | 30 | 常用分组,定期使用,但不是每天使用 |
| ACTIVE_GROUP_RARE | 40 | 极少使用分组,不经常使用 |
| ACTIVE_GROUP_LIMIT | 50 | 受限使用分组 |
| ACTIVE_GROUP_NEVER | 60 | 从未使用分组,安装但是从未运行过 |
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册