提交 1ec6673f 编写于 作者: zyjhandsome's avatar zyjhandsome

优化一些描述

Signed-off-by: zyjhandsome's avatarzyjhandsome <zyjhandsome@126.com>
上级 c1f82d5c
......@@ -7,7 +7,7 @@
本文将从如下场景分别介绍:
- [配置文件权限声明](#配置文件权限声明)
- [ACL权限声明](#ACL权限声明)
- [ACL方式声明](#ACL方式声明)
- [向用户申请授权](#向用户申请授权)
- [user_grant权限预授权](#user_grant权限预授权)
......@@ -26,7 +26,7 @@
| ability | 否 | 标识需要使用到该权限的Ability,标签为数组形式。<br/>**适用模型:**FA模型 |
| when | 否 | 标识权限使用的时机,值为`inuse/always`<br />- inuse:表示为仅允许前台使用。<br />- always:表示前后台都可使用。 |
### Stage模型
### Stage模型配置
使用Stage模型的应用,需要在[module.json5配置文件](../quick-start/module-configuration-file.md)中声明权限。
......@@ -60,7 +60,7 @@
}
```
### FA模型
### FA模型配置
使用FA模型的应用,需要在config.json配置文件中声明权限。
......@@ -94,7 +94,7 @@
}
```
## ACL权限声明
## ACL方式声明
应用在申请`system_basic`等级权限时,高于应用默认的`normal`等级。当应用需要申请权限项的等级高于应用默认的等级时,需要通过ACL方式进行声明使用。例如应用在申请访问用户公共目录下音乐类型的文件,需要申请` ohos.permission.WRITE_AUDIO`权限,该权限为`system_basic`等级;以及应用在申请截取屏幕图像功能,该权限为`system_core`等级,需要申请` ohos.permission.CAPTURE_SCREEN`权限。此时需要将相关权限项配置到[HarmonyAppProvision配置文件](app-provision-structure.md)`acl`字段中。
......@@ -124,8 +124,9 @@
1. 申请`ohos.permission.READ_CALENDAR`权限,配置方式请参见[访问控制授权申请](#Stage模型)
2. 可以在UIAbility的onWindowStageCreate()回调中调用[requestPermissionsFromUser()](../reference/apis/js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9)接口动态申请权限,也可以根据业务需要在UI界面中向用户申请授权。根据[requestPermissionsFromUser()](../reference/apis/js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9)接口返回值判断是否已获取目标权限,如果当前已经获取权限,则可以继续正常访问目标接口。
在UIAbility中动态申请授权。
```typescript
import UIAbility from '@ohos.app.ability.UIAbility';
import Window from '@ohos.window';
......@@ -157,7 +158,7 @@
}
}
```
在UI界面中向用户申请授权。
```typescript
import abilityAccessCtrl from '@ohos.abilityAccessCtrl';
......@@ -216,40 +217,10 @@ onWindowStageCreate() {
- `bundleName`字段配置为应用的Bundle名称。
- `app_signature`字段配置为应用的指纹信息。指纹信息的配置参见[应用特权配置指南](../../device-dev/subsystems/subsys-app-privilege-config-guide.md#install_list_capabilityjson中配置)
- `permissions`字段中name配置为需要预授权的`user_grant`类型的权限名;`permissions`字段中`userCancellable`表示为用户是否能够取消该预授权,配置为true,表示支持用户取消授权,为false则表示不支持用户取消授权。
- `permissions`字段中`name`配置为需要预授权的`user_grant`类型的权限名;`permissions`字段中`userCancellable`表示为用户是否能够取消该预授权,配置为true,表示支持用户取消授权,为false则表示不支持用户取消授权。
<<<<<<< .mine
> 说明:当前仅支持预置应用配置该文件。
=======
//ability的onWindowStageCreate生命周期
onWindowStageCreate() {
var context = this.context
var AtManager = abilityAccessCtrl.createAtManager();
//requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗
AtManager.requestPermissionsFromUser(context, ["ohos.permission.CAMERA"]).then((data) => {
console.log("data type:" + typeof(data));
console.log("data:" + data);
console.log("data permissions:" + data.permissions);
console.log("data result:" + data.authResults);
}).catch((err) => {
console.error('Failed to start ability', err.code);
})
}
>>>>>>> .theirs
```json
[
// ...
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册