• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 申请授权
2
3
4应用需要获取用户的隐私信息或使用系统能力时,例如获取位置信息、使用相机拍摄照片或录制视频等,需要向用户申请授权。
5
6
7在开发过程中,首先需要明确涉及的敏感权限并在config.json中声明需要的权限,同时通过接口requestPermissionsFromUser以动态弹窗的方式向用户申请授权。
8
9
10config.json声明需要的权限,在module下添加"reqPermissions",并写入对应权限。
11
12
13如申请访问日历权限,需要申请`ohos.permission.READ_CALENDAR`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。
14
15
16  对应config.json文件的示例代码如下所示:
17
18```json
19{
20  "module": {
21    // ...
22    "reqPermissions": [
23      {
24        "name": "ohos.permission.READ_CALENDAR"
25        // ...
26      }
27    ]
28  }
29}
30```
31
32
33通过动态弹窗向用户申请授权:
34
35```ts
36import featureAbility from '@ohos.ability.featureAbility';
37
38let context = featureAbility.getContext();
39let permissions: Array<string> = ['ohos.permission.READ_CALENDAR']
40context.requestPermissionsFromUser(permissions, 1).then((data) => {
41    console.info("Succeed to request permission from user with data: " + JSON.stringify(data))
42}).catch((error) => {
43    console.info("Failed to request permission from user with error: " + JSON.stringify(error))
44})
45```
46