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
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 判断是否有拨打电话权限
23浏览 • 1回复 待解决
HarmonyOS 是否有api可以判断用户是否授予某项权限
656浏览 • 1回复 待解决
HarmonyOS 在权限判断中,是否可以判断用户尚未进行过权限决定
69浏览 • 1回复 待解决
我在请求位置权限前先判断是否申请了位置权限
2047浏览 • 1回复 待解决
HarmonyOS权限判断文档
390浏览 • 1回复 待解决
如何根据fd对应的mode来判断是否有对应的操作权限
555浏览 • 1回复 待解决
HarmonyOS 怎么判断是否有网络?
36浏览 • 1回复 待解决
HarmonyOS 有没有判断类或者库是否存在的方法
54浏览 • 1回复 待解决
后台弹窗权限怎么判断?
4844浏览 • 1回复 待解决
HarmonyOS 怎么判断是否可以使用setSpecificSystemBarEnabled()这个方法
50浏览 • 1回复 待解决
HarmonyOS 如何判断无障碍模式是否开启?
260浏览 • 1回复 待解决
HarmonyOS 有方法可以判断Search这个控件当前是否有焦点或者有光标吗
43浏览 • 1回复 待解决
HarmonyOS 有没什么高效判断undefinded的方法?
19浏览 • 1回复 待解决
HarmonyOS 是否有方法判断startAbility 隐式启动schema是否能打开
426浏览 • 1回复 待解决
HarmonyOS Web组件UserAgent判断方法
52浏览 • 1回复 待解决
HarmonyOS 如何判断当前设备是否开启无障碍朗读功能
33浏览 • 1回复 待解决
如何判断APP是否是第一次请求权限?
400浏览 • 1回复 待解决
HarmonyOS有没有简单的方法判断当前线程是否为主线程?
507浏览 • 1回复 待解决
求助镜像语言环境判断方法?
5560浏览 • 1回复 待解决
HarmonyOS 怎么判断网络是否链接? 判断有没有网络
91浏览 • 1回复 待解决
HarmonyOS 判断网络是否连接
74浏览 • 1回复 待解决
HarmonyOS 判断wantUri是否合法
35浏览 • 1回复 待解决
如何判断其他单个app是否安装? api11 无相关方法
947浏览 • 1回复 待解决
HarmonyOS ArkTS中如何判断某个类的实例是否实现了某个方法
64浏览 • 1回复 待解决
JS 镜像语言环境判断方法
4600浏览 • 1回复 待解决
可以使用verifyAccessTokenSync这个api可以实现想要的同步效果,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-abilityaccessctrl-V5#verifyaccesstokensync9