前言
在HarmonyOS开发中,‘权限申请’,‘权限检查’,‘获取版本信息’,‘获取包名’都是基本操作,今天学习一下怎么实现如下功能,主要分为‘Api说明’,‘代码实现’,‘运行效果’三个步骤进行描述
1. Api说明
1.1参考Ability上下文
1.2 context.verifyPermission
verifyPermission(permission: string, options?: PermissionOptions): Promise
检查指定进程是否存在指定的权限,options为可选参数,不设置时表示检查自身权限,使用Promise方式作为异步方法。
1.2.1请求参数
参数一permission:需要校验的权限
参数二options:包含pid,uid(常规应用使用不到,这里不做详细讲解)
1.2.2 返回类型
Promise:Promise形式返回结果。返回-1表示不具备当前检查权限,0表示有权限
1.2.3示例:
import ability_featureAbility from '@ohos.ability.featureAbility'
var context = ability_featureAbility.getContext();
let permission = "ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS";
context.verifyPermission(permission,(error, data)=>{
if (error) {
console.error('Operation failed. Cause: ' + JSON.stringify(error));
return;
}
console.info('Operation successful. Data:' + JSON.stringify(data))
})
1.3 context.requestPermissionsFromUser
requestPermissionsFromUser(permissions: Array, requestCode: number): Promise
向用户请求某些权限,在申请权限之前查询自身进程是否已被授予该权限(verifyPermission),如果已有权限,则无需申请,否则需要申请权限。使用Promise方式作为异步方法。
1.3.1参数详解
参数一:permissions:请求授予的权限
参二:requestCode