HarmonyOS 判断权限是否开启, 现在判断方法属于异步,是否有同步的判断权限方法

是否有同步判断权限方法?下列是异步的:

async checkPermissions(permissions: Array<Permissions>): Promise<boolean> {
   let grantStatus: abilityAccessCtrl.GrantStatus = await this.checkAccessToken(permissions);
   if (grantStatus === abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) {
     // 已经授权,可以继续访问目标操作
     return true;
   } else {
     return false;
   }
 }
 async checkAccessToken(permissions: Array<Permissions>): Promise<abilityAccessCtrl.GrantStatus> {
   let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
   let grantStatus: abilityAccessCtrl.GrantStatus = abilityAccessCtrl.GrantStatus.PERMISSION_DENIED;
   // 获取应用程序的accessTokenID
   let tokenId: number = 0;
   try {
     let bundleInfo: bundleManager.BundleInfo = await bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION);
     let appInfo: bundleManager.ApplicationInfo = bundleInfo.appInfo;
     tokenId = appInfo.accessTokenId;
   } catch (error) {
     let err: BusinessError = error as BusinessError;
     console.error(`Failed to get bundle info for self. Code is ${err.code}, message is ${err.message}`);
   }
   // 校验应用是否被授予权限
   try {
     for (let index = 0; index < permissions.length; index++) {
       grantStatus = await atManager.checkAccessToken(tokenId, permissions[index]);
     }
   } catch (error) {
     let err: BusinessError = error as BusinessError;
     console.error(`Failed to check access token. Code is ${err.code}, message is ${err.message}`);
   }

   return grantStatus;
 }

需求是同步判断,获取到权限是否开启,同步返回生成json返回给服务器。

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

可以使用verifyAccessTokenSync这个api可以实现想要的同步效果,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-abilityaccessctrl-V5#verifyaccesstokensync9

分享
微博
QQ
微信
回复
23h前
相关问题
HarmonyOS 判断是否拨打电话权限
23浏览 • 1回复 待解决
HarmonyOS权限判断文档
390浏览 • 1回复 待解决
HarmonyOS 怎么判断是否网络?
36浏览 • 1回复 待解决
后台弹窗权限怎么判断
4844浏览 • 1回复 待解决
HarmonyOS Web组件UserAgent判断方法
52浏览 • 1回复 待解决
如何判断APP是否是第一次请求权限
400浏览 • 1回复 待解决
求助镜像语言环境判断方法
5560浏览 • 1回复 待解决
HarmonyOS 判断网络是否连接
74浏览 • 1回复 待解决
HarmonyOS 判断wantUri是否合法
35浏览 • 1回复 待解决
JS 镜像语言环境判断方法
4600浏览 • 1回复 待解决