往期鸿蒙全套实战文章必看:(文中附带全栈鸿蒙学习资料)
PermissionRequestResult
权限请求结果对象,在调用requestPermissionsFromUser申请权限时返回此对象表明此次权限申请的结果。
说明
- 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
- 本模块接口仅可在Stage模型下使用。
属性
系统能力:以下各项对应的系统能力均为SystemCapability.Security.AccessToken
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| permissions | Array<string> | 是 | 否 | 用户传入的权限。 元服务API: 从API version 11开始,该接口支持在元服务中使用。 |
| authResults | Array<number> | 是 | 否 | 相应请求权限的结果: - -1:未授权。①dialogShownResults返回为true,表示用户首次申请;②dialogShownResults返回为false,表示权限已设置,无需弹窗,需要用户在"设置"中修改。 - 0:已授权。 - 2:未授权,表示请求无效,可能原因有: -未在设置文件中声明目标权限。 -权限名非法。 -部分权限存在特殊申请条件,在申请对应权限时未满足其指定的条件,见ohos.permission.LOCATION与ohos.permission.APPROXIMATELY_LOCATION 元服务API: 从API version 11开始,该接口支持在元服务中使用。 |
| dialogShownResults12+ | Array<boolean> | 是 | 是 | 此权限申请是否有弹窗: - true:有弹窗。 - false:无弹窗。 元服务API: 从API version 12开始,该接口支持在元服务中使用。 |
使用说明
通过atManager实例来获取。
示例:
示例中context的获取方式。
import abilityAccessCtrl from '@ohos.abilityAccessCtrl';
import { BusinessError } from '@ohos.base';
import common from '@ohos.app.ability.common';
let atManager = abilityAccessCtrl.createAtManager();
try {
let context: Context = getContext(this) as common.UIAbilityContext;
atManager.requestPermissionsFromUser(context, ["ohos.permission.CAMERA"]).then((data) => {
console.info("data:" + JSON.stringify(data));
console.info("data permissions:" + data.permissions);
console.info("data authResults:" + data.authResults);
console.info("data dialogShownResults:" + data.dialogShownResults);
}).catch((err: BusinessError) => {
console.error("data:" + JSON.stringify(err));
})
} catch(err) {
console.error(`catch err->${JSON.stringify(err)}`);
}



被折叠的 条评论
为什么被折叠?



