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 判断是否有拨打电话权限
1454浏览 • 1回复 待解决
HarmonyOS 是否有api可以判断用户是否授予某项权限
3280浏览 • 1回复 待解决
HarmonyOS 在权限判断中,是否可以判断用户尚未进行过权限决定
1051浏览 • 1回复 待解决
HarmonyOS权限判断文档
1362浏览 • 1回复 待解决
我在请求位置权限前先判断是否申请了位置权限
3249浏览 • 1回复 待解决
如何根据fd对应的mode来判断是否有对应的操作权限
1255浏览 • 1回复 待解决
HarmonyOS 怎么判断是否可以使用setSpecificSystemBarEnabled()这个方法
1084浏览 • 1回复 待解决
HarmonyOS 有没有判断类或者库是否存在的方法
899浏览 • 1回复 待解决
HarmonyOS 怎么判断是否有网络?
987浏览 • 1回复 待解决
后台弹窗权限怎么判断?
6208浏览 • 1回复 待解决
HarmonyOS 如何判断无障碍模式是否开启?
1590浏览 • 1回复 待解决
HarmonyOS 是否有判断移动数据是否打开的api
510浏览 • 0回复 待解决
HarmonyOS 有没什么高效判断undefinded的方法?
768浏览 • 1回复 待解决
HarmonyOS 是否有方法判断startAbility 隐式启动schema是否能打开
1289浏览 • 1回复 待解决
HarmonyOS 有方法可以判断Search这个控件当前是否有焦点或者有光标吗
996浏览 • 1回复 待解决
如何判断APP是否是第一次请求权限?
1438浏览 • 1回复 待解决
HarmonyOS 怎么判断网络是否链接? 判断有没有网络
1217浏览 • 1回复 待解决
HarmonyOS Web组件UserAgent判断方法
916浏览 • 1回复 待解决
HarmonyOS 判断网络是否连接
790浏览 • 1回复 待解决
HarmonyOS 判断wantUri是否合法
544浏览 • 1回复 待解决
HarmonyOS ArkTS中如何判断某个类的实例是否实现了某个方法
1095浏览 • 1回复 待解决
HarmonyOS有没有简单的方法判断当前线程是否为主线程?
1816浏览 • 1回复 待解决
HarmonyOS 如何判断当前设备是否开启无障碍朗读功能
1307浏览 • 1回复 待解决
JS 镜像语言环境判断方法
5866浏览 • 1回复 待解决
求助镜像语言环境判断方法?
6560浏览 • 1回复 待解决
可以使用verifyAccessTokenSync这个api可以实现想要的同步效果,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-abilityaccessctrl-V5#verifyaccesstokensync9