#鸿蒙通关秘籍#如何实现HarmonyOS NEXT内申请权限的逻辑

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
CMO风舞

申请权限是通过abilityAccessCtrl模块实现的:

import common from '@ohos.app.ability.common';
import { abilityAccessCtrl } from '@ohos.abilityAccessCtrl';

/**
 * 申请权限
 * @param context :UIAbilityContext
 * @param permissions :权限名称数组
 * @returns Promise<boolean> :是否授权成功
 */
export async function applyPermission(context: common.UIAbilityContext, permissions: Permissions[]): Promise<boolean> {
  const atManager = abilityAccessCtrl.createAtManager();
  return new Promise((resolve, reject) => {
    atManager.requestPermissionsFromUser(context, permissions).then((data) => {
      const grantStatus = data.authResults;
      resolve(grantStatus.every(item => item === 0));
    }).catch((err) => {
      reject(err);
    });
  });
}
分享
微博
QQ
微信
回复
2天前
相关问题