使用权限申请,没有拉起弹窗,可能原因是什么?
let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager(); let context = this.getUIContext().getHostContext() as common.UIAbilityContext let needPermissions:Permissions[] = ['ohos.permission.ACCESS_BLUETOOTH','ohos.permission.USE_BLUETOOTH']; atManager.requestPermissionsFromUser(context, needPermissions, (err: BusinessError, data: PermissionRequestResult) => { if (err) { Logger.p(`requestPermissionsFromUser fail, err->${JSON.stringify(err)}`); } else { Logger.p('data:' + JSON.stringify(data)); Logger.p('data permissions:' + data.permissions); Logger.p('data authResults:' + data.authResults); Logger.p('data dialogShownResults:' + data.dialogShownResults); } });
当前申请的ACCESS_BLUETOOTH和USE_BLUETOOTH权限,只有ACCESS_BLUETOOTH是需要用户授权的,USE_BLUETOOTH是通过系统授权。
需确认module.json5中是否已配置这两个权限。若是权限申请后没有弹窗提醒,可能是您已经成功授权过,或者已经默认拒绝了该权限,需检查应用是否已经授权。还可以通过拉起设置页面手动进行授权设置。