Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
344e916d
D
Docs
项目概览
OpenHarmony
/
Docs
11 个月 前同步成功
通知
158
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
344e916d
编写于
10月 25, 2022
作者:
O
openharmony_ci
提交者:
Gitee
10月 25, 2022
浏览文件
操作
浏览文件
下载
差异文件
!10667 设备使用信息统计API开发文档和说明修改
Merge pull request !10667 from yp99ustc/master
上级
054acff0
ea40f2c9
变更
7
展开全部
隐藏空白更改
内联
并排
Showing
7 changed file
with
2361 addition
and
834 deletion
+2361
-834
zh-cn/application-dev/device-usage-statistics/Readme-CN.md
zh-cn/application-dev/device-usage-statistics/Readme-CN.md
+2
-1
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-dev-guide.md
...ice-usage-statistics/device-usage-statistics-dev-guide.md
+10
-155
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-use-guide.md
...ice-usage-statistics/device-usage-statistics-use-guide.md
+540
-0
zh-cn/application-dev/reference/apis/Readme-CN.md
zh-cn/application-dev/reference/apis/Readme-CN.md
+3
-1
zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md
...ation-dev/reference/apis/js-apis-deviceUsageStatistics.md
+21
-677
zh-cn/application-dev/reference/apis/js-apis-resourceschedule-deviceUsageStatistics.md
...ce/apis/js-apis-resourceschedule-deviceUsageStatistics.md
+1618
-0
zh-cn/application-dev/reference/errorcodes/errcode-DeviceUsageStatistics.md
...dev/reference/errorcodes/errcode-DeviceUsageStatistics.md
+167
-0
未找到文件。
zh-cn/application-dev/device-usage-statistics/Readme-CN.md
浏览文件 @
344e916d
# 设备使用信息统计
-
[
设备使用信息统计概述
](
device-usage-statistics-overview.md
)
-
[
设备使用信息统计开发指导
](
device-usage-statistics-dev-guide.md
)
\ No newline at end of file
-
[
设备使用信息统计开发指导(API7)
](
device-usage-statistics-dev-guide.md
)
-
[
设备使用信息统计开发指导(API9)
](
device-usage-statistics-use-guide.md
)
\ No newline at end of file
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-dev-guide.md
浏览文件 @
344e916d
# 设备使用信息统计
# 设备使用信息统计
(API7)
## 场景介绍
...
...
@@ -24,36 +24,14 @@ import stats from '@ohos.bundleState';
| function queryAppUsagePriorityGroup(callback: AsyncCallback
<
number
>
): void | 查询当前应用的使用优先级群组。callback形式。 |
| function queryAppUsagePriorityGroup(): Promise
<
number
>
; | 查询当前应用的使用优先级群组。promise形式。 |
| function isIdleState(bundleName: string, callback: AsyncCallback
<
boolean
>
): void | 判断指定Bundle Name的应用当前是否是空闲状态。 |
| function getRecentlyUsedModules(callback: AsyncCallback
<
BundleActiveModuleInfo
>
): void | 查询FA使用记录,返回不超过1000条FA使用记录。 |
| function getRecentlyUsedModules(maxNum: number, callback: AsyncCallback
<
BundleActiveModuleInfo
>
): void | 根据maxNum,查询FA使用记录,返回不超过maxNum条FA使用记录。 maxNum不超过1000|
| function queryAppNotificationNumber(begin: number, end: number, callback: AsyncCallback
<
Array
<
BundleActiveEventState
>>
): void | 通过指定起始和结束时间查询所有应用的通知次数。 |
| function queryBundleActiveEventStates(begin: number, end: number, callback: AsyncCallback
<
Array
<
BundleActiveEventState
>>
): void | 通过指定起始和结束时间查询系统事件(休眠、唤醒、解锁、锁屏)统计信息。 |
| function queryAppUsagePriorityGroup(bundleName : string, callback: AsyncCallback
<
number
>
): void | 查询指定应用的使用优先级群组。callback形式。 |
| function queryAppUsagePriorityGroup(bundleName? : string): Promise
<
number
>
; | 查询当前调用者应用或者指定应用的使用优先级群组。promise形式。 |
| 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(groupCallback: Callback
>
BundleActiveGroupCallbackInfo
>
, callback: AsyncCallback
>
boolean
>
): void | 注册应用分组变化监听回调,返回注册是否成功,当应用分组发生变化时,会给所有已注册的监听者返回回调信息,以callback形式返回。 |
| function registerGroupCallBack(groupCallback: Callback
>
BundleActiveGroupCallbackInfo
>
): Promise
>
boolean
>
; | 注册应用分组变化监听回调,返回注册是否成功,当应用分组发生变化时,会给所有已注册的监听者返回回调信息,以promise形式返回。 |
| function unRegisterGroupCallBack(callback: AsyncCallback
>
boolean
>
): void | 解除应用分组监听回调,以callback形式返回。 |
| function unRegisterGroupCallBack(): Promise
>
boolean
>
; | 解除应用分组监听回调,以promise形式返回。 |
## 开发步骤
1.
在config.json文件中配置设备使用信息统计权限。
1.
获取设备使用信息之前,需要检查是否已经配置请求相应的权限。
系统提供的设备使用信息统计的权限是ohos.permission.BUNDLE_ACTIVE_INFO
具体配置方式请参考
[
权限申请声明
](
../security/accesstoken-guidelines.md
)
```json
"module": {
"package": "com.example.deviceUsageStatistics",
...,
"reqPermissions": [
{
"name": "ohos.permission.BUNDLE_ACTIVE_INFO"
}
]
}
```
2.
通过指定起始和结束时间查询所有应用的事件集合,config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO。
2.
通过指定起始和结束时间查询所有应用的事件集合,需要配置ohos.permission.BUNDLE_ACTIVE_INFO权限。
```js
import stats from '@ohos.bundleState'
...
...
@@ -69,7 +47,7 @@ import stats from '@ohos.bundleState';
});
```
3.
通过指定起始和结束时间查询应用使用时长统计信息,
config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO
。
3.
通过指定起始和结束时间查询应用使用时长统计信息,
需要配置ohos.permission.BUNDLE_ACTIVE_INFO权限
。
```js
import stats from '@ohos.bundleState'
...
...
@@ -87,7 +65,7 @@ import stats from '@ohos.bundleState';
});
```
4.
通过指定起始和结束时间查询当前应用的事件集合,
config.json中
不需要配置权限。
4.
通过指定起始和结束时间查询当前应用的事件集合,不需要配置权限。
```js
import stats from '@ohos.bundleState'
...
...
@@ -103,7 +81,7 @@ import stats from '@ohos.bundleState';
});
```
5.
通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,
config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO
。
5.
通过指定时间段间隔(天、周、月、年)查询应用使用时长统计信息,
需要配置ohos.permission.BUNDLE_ACTIVE_INFO权限
。
```js
import stats from '@ohos.bundleState'
...
...
@@ -120,7 +98,7 @@ import stats from '@ohos.bundleState';
```
6.
查询(无参)当前调用者应用的使用优先级群组,
config.json中
不需要配置权限。
6.
查询(无参)当前调用者应用的使用优先级群组,不需要配置权限。
```js
import stats from '@ohos.bundleState'
...
...
@@ -132,7 +110,7 @@ import stats from '@ohos.bundleState';
});
```
7.
判断指定Bundle Name的应用当前是否是空闲状态,
config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO
,三方应用只能查询自身的空闲状态。
7.
判断指定Bundle Name的应用当前是否是空闲状态,
需要配置ohos.permission.BUNDLE_ACTIVE_INFO权限
,三方应用只能查询自身的空闲状态。
```js
import stats from '@ohos.bundleState'
...
...
@@ -144,129 +122,6 @@ import stats from '@ohos.bundleState';
});
```
8.
查询FA使用记录。返回数量最大不超过maxNum设置的值,若不传入maxNum参数,则默认maxNum为1000。config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO。
```js
import stats from '@ohos.bundleState'
// 异步方法promise方式
stats.getRecentlyUsedModules(1000).then(res => {
console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise succeeded');
for (let i = 0; i < res.length; i++) {
console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise number : ' + (i + 1));
console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise result ' + JSON.stringify(res[i]));
}
}).catch(err=> {
console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise failed, because: ' + err.code);
});
// 无maNum参数异步方法promise方式
stats.getRecentlyUsedModules().then(res => {
console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise succeeded');
for (let i = 0; i < res.length; i++) {
console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise number : ' + (i + 1));
console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise result ' + JSON.stringify(res[i]));
}
}).catch( err=> {
console.log('BUNDLE_ACTIVE getRecentlyUsedModules promise failed, because: ' + err.code);
});
```
9.
通过指定起始和结束时间查询所有应用的通知次数,config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO。
```js
import stats from '@ohos.bundleState'
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);
});
```
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);
});
```
11.
查询(无参)当前调用者应用的使用优先级群组,config.json中不需要配置权限。查询(有参)指定应用的使用优先级群组,config.json中需要配置权限:ohos.permission.BUNDLE_ACTIVE_INFO。
```js
import stats from '@ohos.bundleState'
// 无bundleName异步方法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);
});
let bundleName = "com.ohos.camera";
// 有bundleName异步promise方式
stats.queryAppUsagePriorityGroup(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);
});
```
11.
给应用名是bundleName的应用分组设置成newGroup,返回设置结果是否成功
```javascript
import stats from '@ohos.bundleState'
stats.setBundleGroup(this.bundleName, this.newGroup).then(() => {
console.log('BUNDLE_ACTIVE SetBundleGroup promise succeeded.');
}).catch( err => {
console.log('BUNDLE_ACTIVE SetBundleGroup promise failed. because: ' + err.code);
});
```
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(() => {
console.log('BUNDLE_ACTIVE RegisterGroupCallBack promise succeeded.');
}).catch(err => {
console.log('BUNDLE_ACTIVE RegisterGroupCallBack promise failed. because: ' + err.code);
});
```
13.
解除应用分组监听回调
```javascript
import stats from '@ohos.bundleState'
// promise
stats.unRegisterGroupCallBack().then(() => {
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack promise succeeded.');
}).catch(err => {
console.log('BUNDLE_ACTIVE UnRegisterGroupCallBack promise failed. because: ' + err.code);
});
```
## 相关实例
针对设备使用信息统计,有以下相关实例可供参考:
-
[
`DeviceUsageStatistics`:设备使用信息统计(ArkTS)(API8)(Full SDK)
](
https://gitee.com/openharmony/applications_app_samples/tree/master/device/DeviceUsageStatistics
)
...
...
zh-cn/application-dev/device-usage-statistics/device-usage-statistics-use-guide.md
0 → 100644
浏览文件 @
344e916d
此差异已折叠。
点击以展开。
zh-cn/application-dev/reference/apis/Readme-CN.md
浏览文件 @
344e916d
...
...
@@ -68,7 +68,6 @@
-
[
@ohos.bundle (Bundle模块)
](
js-apis-Bundle.md
)
-
[
@ohos.bundle.defaultAppManager (Bundle模块)
](
js-apis-bundle-defaultAppManager.md
)
-
[
@ohos.bundle.innerBundleManager (innerBundleManager模块(JS端SDK接口))
](
js-apis-Bundle-InnerBundleManager.md
)
-
[
@ohos.bundleState (设备使用信息统计)
](
js-apis-deviceUsageStatistics.md
)
-
[
@ohos.distributedBundle (distributedBundle模块(JS端SDK接口))
](
js-apis-Bundle-distributedBundle.md
)
-
[
@ohos.zlib (Zip模块)
](
js-apis-zlib.md
)
-
bundle/
[
AbilityInfo (AbilityInfo)
](
js-apis-bundle-AbilityInfo.md
)
...
...
@@ -120,6 +119,7 @@
-
[
@ohos.backgroundTaskManager (后台任务管理)
](
js-apis-backgroundTaskManager.md
)
-
[
@ohos.distributedMissionManager (分布式任务管理)
](
js-apis-distributedMissionManager.md
)
-
[
@ohos.reminderAgentManager (后台代理提醒)
](
js-apis-reminderAgentManager.md
)
-
[
@ohos.resourceschedule.usageStatistics (设备使用信息统计)
](
js-apis-resourceschedule-deviceUsageStatistics.md
)
-
[
@ohos.workScheduler (延迟任务调度)
](
js-apis-workScheduler.md
)
-
[
@ohos.WorkSchedulerExtensionAbility (延迟任务调度回调)
](
js-apis-WorkSchedulerExtensionAbility.md
)
-
定制管理
...
...
@@ -269,6 +269,7 @@
-
[
@ohos.application.testRunner (TestRunner)
](
js-apis-testRunner.md
)
-
[
@ohos.uitest (UiTest)
](
js-apis-uitest.md
)
-
已停止维护的接口
-
[
@ohos.bundleState (设备使用信息统计)
](
js-apis-deviceUsageStatistics.md
)
-
[
@ohos.bytrace (性能打点)
](
js-apis-bytrace.md
)
-
[
@ohos.data.storage (轻量级存储)
](
js-apis-data-storage.md
)
-
[
@ohos.data.distributedData (分布式数据管理)
](
js-apis-distributed-data.md
)
...
...
@@ -294,3 +295,4 @@
-
[
@system.sensor (传感器)
](
js-apis-system-sensor.md
)
-
[
@system.storage (数据存储)
](
js-apis-system-storage.md
)
-
[
@system.vibrator (振动)
](
js-apis-system-vibrate.md
)
-
[
console (日志打印)
](
js-apis-logs.md
)
zh-cn/application-dev/reference/apis/js-apis-deviceUsageStatistics.md
浏览文件 @
344e916d
此差异已折叠。
点击以展开。
zh-cn/application-dev/reference/apis/js-apis-resourceschedule-deviceUsageStatistics.md
0 → 100644
浏览文件 @
344e916d
此差异已折叠。
点击以展开。
zh-cn/application-dev/reference/errorcodes/errcode-DeviceUsageStatistics.md
0 → 100644
浏览文件 @
344e916d
# DeviceUsageStatistics错误码
## 10000001 内存操作失败
**错误信息**
Memory operation failed.
**错误描述**
内存操作失败
**可能原因**
该错误码表示系统服务工作异常,可能原因是内存不足导致创建对象失败。
**处理步骤**
请检查内存是否泄漏。
## 10000002 IPC parcel write failed
**错误信息**
Parcel operation failed. Failed to write the parcel.
**错误描述**
进程间通信的时候,写入数据对象失败。
**可能原因**
写入对象失败。
**处理步骤**
请检查对象值是否正常。
## 10000003 系统服务操作失败
**错误信息**
System service operation failed.
**错误描述**
客户端进程请求服务进程时,获取系统服务操作失败。
**可能原因**
依赖的服务进程出现问题。
**处理步骤**
系统服务内部工作异常,请稍后重试,或者重启设备尝试。
## 10000004 IPC通信失败
**错误信息**
IPC communication failed.
**错误描述**
进程间通信的时候,IPC通信失败。
**可能原因**
系统服务异常或者IPC通信数据异常。
**处理步骤**
系统服务内部工作异常,请稍后重试,或者重启设备尝试。
## 10000005 应用未安装
**错误信息**
The application is not installed.
**错误描述**
应用未安装。
**可能原因**
应用未安装或者已经卸载
**处理步骤**
操作应用信息时请先检查应用是否存在。
## 10000006 获取应用信息失败
**错误信息**
Get application info failed.
**错误描述**
客户端进程获取服务中相关应用信息失败。
**可能原因**
1.
beginTime或者endTime输入不合法。
2.
应用未安装或者已经被卸载了。
3.
intervalType输入不合法。
**处理步骤**
请检查入参合法性以及应用是否存在。
## 10000007 时间操作失败
**错误信息**
Get system or actual time operation failed.
**错误描述**
系统服务获取系统事件或者实际事件操作失败。
**可能原因**
系统异常。
**处理步骤**
系统服务内部工作异常,请稍后重试,或者重启设备尝试。
## 10100001 应用分组信息操作重复
**错误信息**
Application group operation failed. The application group are the the same or do not need te be updated.
**错误描述**
应用分组操作失败,应用分组相同不需要重复设置或者注册和解注册重复操作。
**可能原因**
重复设置应用分组或者重复注册分组变化监听和重复取消分组变化监听。
**处理步骤**
请勿重复设置应用分组、注册监听和取消监听。
## 10100002 获取应用分组信息失败
**错误信息**
Get application group info failed. The application group infomation cannot be found.
**错误描述**
客户端进程获取应用分组信息失败,改信息在数据库中不存在。
**可能原因**
1.
应用输入bundleName错误。
2.
应用可能没有安装或者已经卸载
**处理步骤**
请检查入参bundleName的合法性和应用是否存在。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录