Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
94f75a1d
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
94f75a1d
编写于
6月 07, 2022
作者:
Y
yupeng74@huawei.com
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
应用分组信息docs
Signed-off-by:
N
yupeng74@huawei.com
<
yupeng74@huawei.com
>
上级
47fcc965
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
441 addition
and
12 deletion
+441
-12
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-dev-guide.md
...ice-usage-statistics/device-usage-statistics-dev-guide.md
+114
-8
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-overview.md
...vice-usage-statistics/device-usage-statistics-overview.md
+15
-3
zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md
...ation-dev/reference/apis/js-apis-deviceUsageStatistics.md
+312
-1
未找到文件。
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-dev-guide.md
浏览文件 @
94f75a1d
...
...
@@ -20,10 +20,18 @@ import stats from '@ohos.bundleState';
| 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 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
<
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 | 通过指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。 |
| 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 +173,19 @@ import stats from '@ohos.bundleState';
});
```
6.
查询(
返回)当前调用者应用的使用优先级群组,config.json中不需要配置权限
。
6.
查询(
无参)当前调用者应用的使用优先级群组,config.json中不需要配置权限。查询(有参)指定应用的使用优先级群组,config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO
。
```js
import stats from '@ohos.bundleState'
// 异步方法promise方式
//
无参
异步方法promise方式
stats.queryAppUsagePriorityGroup().then( res => {
console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise succeeded. result: ' + JSON.stringify(res));
}).catch( err => {
console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise failed. because: ' + err.code);
});
// 异步方法callback方式
//
无参
异步方法callback方式
stats.queryAppUsagePriorityGroup((err, res) => {
if (err) {
console.log('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback failed. because: ' + err.code);
...
...
@@ -185,6 +193,22 @@ import stats from '@ohos.bundleState';
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中不需要配置权限。
...
...
@@ -291,7 +315,7 @@ import stats from '@ohos.bundleState';
```js
import stats from '@ohos.bundleState'
// 异步方法promise方式
stats.queryBundleActiveEventStates(0, 20000000000000).then( res => {
console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise success.');
...
...
@@ -299,7 +323,7 @@ import stats from '@ohos.bundleState';
}).catch( err => {
console.log('BUNDLE_ACTIVE queryBundleActiveEventStates promise failed, because: ' + err.code);
});
// 异步方法callback方式
stats.queryBundleActiveEventStates(0, 20000000000000, (err, res) => {
if (err) {
...
...
@@ -309,4 +333,86 @@ import stats from '@ohos.bundleState';
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));
}
});
```
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-overview.md
浏览文件 @
94f75a1d
...
...
@@ -16,12 +16,24 @@
2.
根据起止时间查询应用的使用时长。
3.
根据起止时间查询当前应用的事件集合。
4.
根据interval(日、周、月、年)类型和起止时间查询应用的使用时长。
5.
查询调用者应用的优先级群组。
5.
查询调用者应用
或指定应用
的优先级群组。
6.
判断指定应用当前是否是空闲状态。
7.
查询FA使用记录。返回数量最大不超过maxNum设置的值,FA使用记录由近及远排序,maxNum最大为1000,若不填写maxNum参数,则maxNum默认为1000。
8.
根据起止时间查询应用通知次数。
9.
根据起止时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。
-
设置接口
1.
给应用名称为bundleName的应用分组设置为newGroup。
-
注册接口
1.
注册应用分组变化回调监听,当应用分组发生变化,会给所有已注册的应用返回变化信息
-
解注册接口
1.
解除注册应用分组变化回调监听
### 设备使用信息统计使用权限
-
设备使用信息统计的queryBundleActiveStates、queryBundleStateInfos、queryBundleStateInfoByInterval、queryBundleActiveEventStates、queryAppNotificationNumber接口为系统api,调用前需要申请ohos.permission.BUNDLE_ACTIVE_INFO权限。
-
设备使用信息统计的queryCurrentBundleActiveStates、queryAppUsagePriorityGroup、isIdleState接口为三方api,调用时不需要申请权限。
\ No newline at end of file
-
设备使用信息统计的queryBundleActiveStates、queryBundleStateInfos、queryBundleStateInfoByInterval、queryBundleActiveEventStates、queryAppNotificationNumber、queryAppUsagePriorityGroup(有参)、setBundleGroup、registerGroupCallBack、unRegisterGroupCallBack接口为系统api,调用前需要申请ohos.permission.BUNDLE_ACTIVE_INFO权限。
-
设备使用信息统计的queryCurrentBundleActiveStates、queryAppUsagePriorityGroup(无参)、isIdleState接口为三方api,调用时不需要申请权限。
\ No newline at end of file
zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md
浏览文件 @
94f75a1d
...
...
@@ -117,6 +117,83 @@ queryAppUsagePriorityGroup(): Promise<number>
});
```
## bundleState.queryAppUsagePriorityGroup<sup>9+</sup>
queryAppUsagePriorityGroup(bundleName? : string): Promise
<number>
根据bundleName,查询对应的应用分组,使用Promise形式返回其应用分组。
**需要权限**
:ohos.permission.BUNDLE_ACTIVE_INFO
**系统能力**
:SystemCapability.ResourceSchedule.UsageStatistics.App
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ------------------------------------------------------------ |
| bundleName | string | 否 | 有参的时候查询名称为bundleName的应用的分组,没有参数则是查询自己 |
**返回值**
:
| 类型 | 说明 |
| --------------- | ----------------------------------------------- |
| Promise
<number>
| 指定的Promise回调方法。返回查询的应用分组结果。 |
**示例**
:
```
javascript
//有bundleName的promise
bundleState
.
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
);
});
//无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<sup>9+</sup>
queryAppUsagePriorityGroup(bundleName? : string, callback: AsyncCallback
<number>
): void
根据bundleName,查询对应的应用分组,使用callback形式返回其应用分组。
**需要权限**
:ohos.permission.BUNDLE_ACTIVE_INFO
**系统能力**
:SystemCapability.ResourceSchedule.UsageStatistics.App
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| bundleName | string | 否 | 有参的时候查询名称为bundleName的应用的分组,没有参数则是查询自己 |
| callback | AsyncCallback
<
Array
<
[BundleActiveModuleInfo](#bundleactivemoduleinfo9)
>>
| 是 | 指定的CallBack回调方法。返回查询的应用分组。 |
**示例**
:
```
javascript
//有bundleName的callback
bundleState
.
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
));
}
});
//无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
queryBundleStateInfos(begin: number, end: number, callback: AsyncCallback
<
BundleActiveInfoResponse
>
): void
...
...
@@ -496,6 +573,210 @@ getRecentlyUsedModules(maxNum?: number, callback: AsyncCallback<Array<Bund
});
```
## bundleState.setBundleGroup<sup>9+</sup>
setBundleGroup(bundleName: string, newGroup: GroupType): Promise
<boolean>
将指定的bundleName的应用的分组设置为newGroup,使用Promise形式返回设置是否成功。
**需要权限**
:ohos.permission.BUNDLE_ACTIVE_INFO
**系统能力**
:SystemCapability.ResourceSchedule.UsageStatistics.App
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | --------- | ---- | -------- |
| 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.App
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ---------------------- | ---- | ------------------------------------------ |
| 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.App
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ---------------------- |
| 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.App
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | -------------------------- |
| 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.App
**参数**
:无参数
**返回值**
:
| 类型 | 说明 |
| ---------------- | ----------------------------------------- |
| 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.App
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ---------------------------- |
| 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>
queryBundleActiveEventStates(begin: number, end: number): Promise
<
Array
<
BundleActiveEventState
>>
...
...
@@ -660,7 +941,22 @@ FA卡片的使用信息的属性集合。
| formLastUsedTime | number | 是 | 卡片的上一次点击时间。|
| count | number | 是 | 卡片的点击次数。|
## BundleActiveGroupCallbackInfo<sup>9+</sup>
应用分组变化回调返回的属性集合
**系统能力**
:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
| 参数名 | 类型 | 必填 | 说明 |
| ---------------- | ------ | ---- | ---------------- |
| appUsageOldGroup | number | 是 | 修改前的应用分组 |
| appUsageNewGroup | number | 是 | 修改后的应用分组 |
| useId | number | 是 | 用户id |
| changeReason | number | 是 | 分组变化原因 |
| bundleName | string | 是 | 应用名称 |
## BundleStateInfo
提供应用使用时长的具体信息。
### 属性
...
...
@@ -745,4 +1041,19 @@ merge(toMerge: BundleStateInfo): void
| BY_DAILY | 1 | 表示系统按照天去查询指定时间段间隔的应用使用时长信息。|
| BY_WEEKLY | 2 | 表示系统按照周去查询指定时间段间隔的应用使用时长信息。|
| BY_MONTHLY | 3 | 表示系统按照月去查询指定时间段间隔的应用使用时长信息。|
| BY_ANNUALLY | 4 | 表示系统按照年去查询指定时间段间隔的应用使用时长信息。|
\ No newline at end of file
| BY_ANNUALLY | 4 | 表示系统按照年去查询指定时间段间隔的应用使用时长信息。|
## GroupType
提供应用分组的设置类型。
**系统能力**
:以下各项对应的系统能力均为SystemCapability.ResourceSchedule.UsageStatistics.App
| 名称 | 默认值 | 说明 |
| ------------------ | ------ | ---------------------------------- |
| 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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录