Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
94cfda62
D
Docs
项目概览
OpenHarmony
/
Docs
11 个月 前同步成功
通知
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
94cfda62
编写于
9月 09, 2022
作者:
O
openharmony_ci
提交者:
Gitee
9月 09, 2022
浏览文件
操作
浏览文件
下载
差异文件
!9124 添加atm与privacy新增接口的描述
Merge pull request !9124 from zhouyan/zy_privacy
上级
9b5cda2c
37fa3311
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
359 addition
and
5 deletion
+359
-5
zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md
...plication-dev/reference/apis/js-apis-abilityAccessCtrl.md
+105
-5
zh-cn/application-dev/reference/apis/js-apis-privacyManager.md
.../application-dev/reference/apis/js-apis-privacyManager.md
+254
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md
浏览文件 @
94cfda62
...
...
@@ -282,13 +282,113 @@ promise.then(data => {
});
```
### on<sup>9+</sup>
on(type: 'permissionStateChange', tokenIDList: Array
<
number
>
, permissionNameList: Array
<
string
>
, callback: Callback
<
PermissionStateChangeInfo
>
): void;
订阅指定tokenId列表与权限列表的权限状态变更事件,使用callback回调异步返回结果。
此接口为系统接口。
**需要权限:**
ohos.permission.GET_SENSITIVE_PERMISSIONS
**系统能力:**
SystemCapability.Security.AccessToken
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------------ | --------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 订阅事件类型,固定为'permissionStateChange',权限状态变更事件。 |
| tokenIDList | Array
<
number
>
| 否 | 订阅的tokenId列表,为空时表示订阅所有的应用的权限状态变化。 |
| permissionNameList | Array
<
string
>
| 否 | 订阅的权限名列表,为空时表示订阅所有的权限状态变化。 |
| callback | Callback
<
[PermissionStateChangeInfo](#permissionstatechangeinfo9)
>
| 是 | 订阅指定tokenId与指定权限名状态变更事件的回调。|
**示例:**
```
js
import
abilityAccessCtrl
from
'
@ohos.abilityAccessCtrl
'
;
function
OnPermissionStateChanged
(
data
){
console
.
debug
(
"
receive permission state change, data:
"
+
JSON
.
stringify
(
data
));
}
let
atManager
=
abilityAccessCtrl
.
createAtManager
();
let
type
:
'
permissionStateChange
'
=
'
permissionStateChange
'
;
let
tokenIDList
:
Array
&
lt
;
number
&
gt
;
=
[];
let
permissionNameList
:
Array
&
lt
;
string
&
gt
;
=
[];
try
{
atManager
.
on
(
type
,
tokenIDList
,
permissionNameList
,
OnPermissionStateChanged
);
}
catch
(
err
){
console
.
error
(
"
on err:
"
+
JSON
.
stringify
(
err
));
}
```
### off<sup>9+</sup>
off(type: 'permissionStateChange', tokenIDList: Array
<
number
>
, permissionNameList: Array
<
string
>
, callback?: Callback
<
PermissionStateChangeInfo
>
): void;
取消订阅指定tokenId列表与权限列表的权限状态变更事件,使用callback回调异步返回结果。
此接口为系统接口。
**需要权限:**
ohos.permission.GET_SENSITIVE_PERMISSIONS
**系统能力:**
SystemCapability.Security.AccessToken
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------------ | --------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 订阅事件类型,固定为'permissionStateChange',权限状态变更事件。 |
| tokenIDList | Array
<
number
>
| 否 | 订阅的tokenId列表,为空时表示订阅所有的应用的权限状态变化,必须与on的输入一致。 |
| permissionNameList | Array
<
string
>
| 否 | 订阅的权限名列表,为空时表示订阅所有的权限状态变化,必须与on的输入一致。 |
| callback | Callback
<
[PermissionStateChangeInfo](#permissionstatechangeinfo9)
>
| 否 | 取消订阅指定tokenId与指定权限名状态变更事件的回调。|
**示例:**
```
js
import
abilityAccessCtrl
from
'
@ohos.abilityAccessCtrl
'
;
let
atManager
=
abilityAccessCtrl
.
createAtManager
();
let
type
:
'
permissionStateChange
'
=
'
permissionStateChange
'
;
let
tokenIDList
:
Array
&
lt
;
number
&
gt
;
=
[];
let
permissionNameList
:
Array
&
lt
;
string
&
gt
;
=
[];
try
{
atManager
.
off
(
type
,
tokenIDList
,
permissionNameList
);
}
catch
(
err
){
console
.
error
(
"
off err:
"
+
JSON
.
stringify
(
err
));
}
```
### GrantStatus
表示授权状态的枚举。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Security.AccessToken
**系统能力:**
SystemCapability.Security.AccessToken
| 名称 | 默认值 | 描述 |
| ------------------ | ----- | ----------- |
| PERMISSION_DENIED | -1 | 表示未授权。 |
| PERMISSION_GRANTED | 0 | 表示已授权。 |
### PermissionStateChangeType<sup>9+</sup>
表示权限状态变化操作类型的枚举。
**系统能力:**
SystemCapability.Security.AccessToken
| 名称 | 默认值 | 描述 |
| ----------------------- | ------ | ----------------- |
| PERMISSION_REVOKED_OPER | 0 | 表示权限取消操作。 |
| PERMISSION_GRANTED | 1 | 表示权限授予操作。 |
### PermissionStateChangeInfo<sup>9+</sup>
**系统能力:**
SystemCapability.Security.AccessToken
| 名称 | 默认值 | 描述 |
| ----------------------------- | ---------------------- | ----------------------- |
| PERMISSION_DENIED | -1 | 表示未授权。 |
| PERMISSION_GRANTED | 0 | 表示已授权。 |
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------------- | ------------------------- | ---- | ---- | ------------------ |
| change |
[
PermissionStateChangeType
](
#permissionstatechangetype9
)
| 是 | 否 | 权限变化类型 |
| tokenID | number | 是 | 否 | 调用方的应用身份标识 |
| permissionName | string | 是 | 否 | 状态发生变化的权限名 |
zh-cn/application-dev/reference/apis/js-apis-privacyManager.md
浏览文件 @
94cfda62
...
...
@@ -153,6 +153,237 @@ privacyManager.getPermissionUsedRecords(request, (err, data) => {
});
```
## privacyManager.startUsingPermission<sup>9+</sup>
startUsingPermission(tokenID: number, permissionName: string): Promise
<
number
>
应用开始使用某项权限,可监听应用在前后台使用权限,并将使用权限的记录落盘,由系统服务调用。
**需要权限:**
ohos.permission.PERMISSION_USED_STATS,仅系统应用可用。
**系统能力:**
SystemCapability.Security.AccessToken
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------ | ---- | ------------------------------------ |
| tokenID | number | 是 | 调用方的应用身份标识,获取方法参照示例。 |
| permissionName | string | 是 | 需要使用的权限名。 |
**返回值:**
| 类型 | 说明 |
| ------------- | --------------------------------------- |
| Promise
<
number
>
| Promise对象。返回开始使用权限的结果。|
**示例:**
```
js
import
bundle
from
'
@ohos.bundle
'
;
import
privacyManager
from
'
@ohos.privacyManager
'
;
let
bundleName
=
"
com.ohos.permissionmanager
"
;
// change to your bundle name
let
appInfo
=
await
bundle
.
getApplicationInfo
(
bundleName
,
16
);
// need async type function
let
tokenID
=
appInfo
.
accessTokenId
;
let
permissionName
=
"
ohos.permission.CAMERA
"
;
privacyManager
.
startUsingPermission
(
tokenID
,
permissionName
).
then
(
data
=>
{
console
.
log
(
`promise: data->
${
JSON
.
stringify
(
data
)}
`
);
}).
catch
(
err
=>
{
console
.
log
(
`Error: err->
${
JSON
.
stringify
(
err
)}
`
);
});
```
## privacyManager.startUsingPermission<sup>9+</sup>
startUsingPermission(tokenID: number, permissionName: string, callback: AsyncCallback
<
number
>
): void
应用开始使用某项权限,可监听应用在前后台使用权限,并将使用权限的记录落盘,由系统服务调用。
**需要权限:**
ohos.permission.PERMISSION_USED_STATS,仅系统应用可用。
**系统能力:**
SystemCapability.Security.AccessToken
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | --------------------- | ---- | ------------------------------------ |
| tokenID | number | 是 | 调用方的应用身份标识,获取方法参照示例。 |
| permissionName | string | 是 | 需要使用的权限名。 |
| callback | AsyncCallback
<
number
>
| 是 | 异步回调,返回开始使用权限的结果。 |
**示例:**
```
js
import
bundle
from
'
@ohos.bundle
'
;
import
privacyManager
from
'
@ohos.privacyManager
'
;
let
bundleName
=
"
com.ohos.permissionmanager
"
;
// change to your bundle name
let
appInfo
=
await
bundle
.
getApplicationInfo
(
bundleName
,
16
);
// need async type function
let
tokenID
=
appInfo
.
accessTokenId
;
let
permissionName
=
"
ohos.permission.CAMERA
"
;
privacyManager
.
startUsingPermission
(
tokenID
,
permissionName
,
(
err
,
data
)
=>
{
if
(
err
)
{
console
.
log
(
`Error: err->
${
JSON
.
stringify
(
err
)}
`
);
}
else
{
console
.
log
(
`promise: data->
${
JSON
.
stringify
(
data
)}
`
);
}
});
```
## privacyManager.stopUsingPermission<sup>9+</sup>
stopUsingPermission(tokenID: number, permissionName: string): Promise
<
number
>
应用停止使用某项权限,与Start对应,由系统服务调用。
**需要权限:**
ohos.permission.PERMISSION_USED_STATS,仅系统应用可用。
**系统能力:**
SystemCapability.Security.AccessToken
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------ | ---- | ------------------------------------ |
| tokenID | number | 是 | 调用方的应用身份标识,获取方法参照示例。 |
| permissionName | string | 是 | 需要使用的权限名。 |
**返回值:**
| 类型 | 说明 |
| ------------- | --------------------------------------- |
| Promise
<
number
>
| Promise对象。返回停止使用权限的结果。|
**示例:**
```
js
import
bundle
from
'
@ohos.bundle
'
;
import
privacyManager
from
'
@ohos.privacyManager
'
;
let
bundleName
=
"
com.ohos.permissionmanager
"
;
// change to your bundle name
let
appInfo
=
await
bundle
.
getApplicationInfo
(
bundleName
,
16
);
// need async type function
let
tokenID
=
appInfo
.
accessTokenId
;
let
permissionName
=
"
ohos.permission.CAMERA
"
;
privacyManager
.
stopUsingPermission
(
tokenID
,
permissionName
).
then
(
data
=>
{
console
.
log
(
`promise: data->
${
JSON
.
stringify
(
data
)}
`
);
}).
catch
(
err
=>
{
console
.
log
(
`Error: err->
${
JSON
.
stringify
(
err
)}
`
);
});
```
## privacyManager.stopUsingPermission<sup>9+</sup>
stopUsingPermission(tokenID: number, permissionName: string, callback: AsyncCallback
<
number
>
): void
应用停止使用某项权限,与Start对应,由系统服务调用。
**需要权限:**
ohos.permission.PERMISSION_USED_STATS,仅系统应用可用。
**系统能力:**
SystemCapability.Security.AccessToken
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | --------------------- | ---- | ------------------------------------ |
| tokenID | number | 是 | 调用方的应用身份标识,获取方法参照示例。 |
| permissionName | string | 是 | 需要使用的权限名。 |
| callback | AsyncCallback
<
number
>
| 是 | 异步回调,返回停止使用权限的结果。 |
**示例:**
```
js
import
bundle
from
'
@ohos.bundle
'
;
import
privacyManager
from
'
@ohos.privacyManager
'
;
let
bundleName
=
"
com.ohos.permissionmanager
"
;
// change to your bundle name
let
appInfo
=
await
bundle
.
getApplicationInfo
(
bundleName
,
16
);
// need async type function
let
tokenID
=
appInfo
.
accessTokenId
;
let
permissionName
=
"
ohos.permission.CAMERA
"
;
privacyManager
.
privacyManager
.
stopUsingPermission
(
tokenID
,
permissionName
,
(
err
,
data
)
=>
{
if
(
err
)
{
console
.
log
(
`Error: err->
${
JSON
.
stringify
(
err
)}
`
);
}
else
{
console
.
log
(
`promise: data->
${
JSON
.
stringify
(
data
)}
`
);
}
});
```
## privacyManager.on<sup>9+</sup>
on(type: 'activeStateChange', permissionNameList: Array
<
string
>
, callback: Callback
<
ActiveChangeResponse
>
): void
订阅指定权限列表的权限使用状态变更事件,使用callback回调异步返回结果。
此接口为系统接口。
**需要权限:**
ohos.permission.PERMISSION_USED_STATS
**系统能力:**
SystemCapability.Security.AccessToken
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------------ | --------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 订阅事件类型,固定为'activeStateChange',权限使用状态变更事件。 |
| permissionNameList | Array
<
string
>
| 否 | 订阅的权限名列表,为空时表示订阅所有的权限使用状态变化。 |
| callback | Callback
<
[ActiveChangeResponse](#activechangeresponse9)
>
| 是 | 订阅指定权限使用状态变更事件的回调。 |
**示例:**
```
js
import
privacyManager
from
'
@ohos.privacyManager
'
;
function
OnPermissionUseStateChanged
(
data
){
console
.
debug
(
"
receive permission state change, data:
"
+
JSON
.
stringify
(
data
));
}
let
type
:
'
activeStateChange
'
=
'
activeStateChange
'
;
let
permissionNameList
:
Array
&
lt
;
string
&
gt
;
=
[];
try
{
privacyManager
.
on
(
type
,
permissionNameList
,
OnPermissionUseStateChanged
);
}
catch
(
err
){
console
.
error
(
"
on err:
"
+
JSON
.
stringify
(
err
));
}
```
## privacyManager.off<sup>9+</sup>
off(type: 'activeStateChange', permissionNameList: Array
<
string
>
, callback?: Callback
<
ActiveChangeResponse
>
): void;
取消订阅指定权限列表的权限使用状态变更事件,使用callback回调异步返回结果。
此接口为系统接口。
**需要权限:**
ohos.permission.PERMISSION_USED_STATS
**系统能力:**
SystemCapability.Security.AccessToken
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------------ | --------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 订阅事件类型,固定为'activeStateChange',权限使用状态变更事件。 |
| permissionNameList | Array
<
string
>
| 否 | 订阅的权限名列表,为空时表示订阅所有的权限状态变化,必须与on的输入一致。 |
| callback | Callback
<
[ActiveChangeResponse](#activechangeresponse9)
>
| 否 | 取消订阅指定tokenId与指定权限名状态变更事件的回调。|
**示例:**
```
js
import
privacyManager
from
'
@ohos.privacyManager
'
;
let
type
:
'
activeStateChange
'
=
'
activeStateChange
'
;
let
permissionNameList
:
Array
&
lt
;
string
&
gt
;
=
[];
try
{
privacyManager
.
off
(
type
,
permissionNameList
);
}
catch
(
err
){
console
.
error
(
"
off err:
"
+
JSON
.
stringify
(
err
));
}
```
## PermissionUsageFlag
使用记录的查询方式的枚举。
...
...
@@ -235,3 +466,26 @@ privacyManager.getPermissionUsedRecords(request, (err, data) => {
| status | number | 否 | 访问状态。 |
| timestamp | number | 否 | 访问时的时间戳,单位:ms。 |
| accessDuration | number | 否 | 访问时长,单位:ms。 |
## PermissionActiveStatus<sup>9+</sup>
表示权限使用状态类型的枚举。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Security.AccessToken
| 名称 | 默认值 | 描述 |
| ------------------------- | ------ | ---------------- |
| PERM_INACTIVE | 0 | 表示未使用权限。 |
| PERM_ACTIVE_IN_FOREGROUND | 1 | 表示前台使用权限。 |
| PERM_ACTIVE_IN_BACKGROUND | 2 | 表示后台使用权限。 |
## ActiveChangeResponse<sup>9+</sup>
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Security.AccessToken
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------------- | ---------------------- | ---- | ---- | --------------------- |
| tokenId | number | 是 | 否 | 调用方的应用身份标识 |
| permissionName | string | 是 | 否 | 使用状态发生变化的权限名 |
| deviceId | string | 是 | 否 | 设备号 |
| activeStatus |
[
PermissionActiveStatus
](
#permissionactivestatus9
)
| 是 | 否 | 权限使用状态类型 |
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录