文档管理中心
开发与测试开放能力API系统安全程序访问控制应用权限管控申请应用权限再次向用户申请授权

再次向用户申请授权

当应用通过requestPermissionsFromUser()拉起弹框请求用户授权时,如果用户拒绝授权,应用将无法再次通过requestPermissionsFromUser()拉起弹框。用户需要在系统设置中手动授权。

在“设置”应用中的路径如下:

  • 路径一:设置 > 隐私与安全 > 权限类型(如位置信息) > 具体应用
  • 路径二:设置 > 应用和元服务 > 某个应用

应用也可以通过调用requestPermissionOnSetting(),直接拉起权限设置弹框,引导用户授权。

效果展示:

以下示例代码展示了如何再次拉起弹框申请ohos.permission.APPROXIMATELY_LOCATION权限。

收起
自动换行
深色代码主题
复制
  1. import { abilityAccessCtrl, Context, common } from '@kit.AbilityKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. // ···
  4. let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
  5. let context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext;
  6. atManager.requestPermissionOnSetting(context, ['ohos.permission.APPROXIMATELY_LOCATION']).then((data: Array<abilityAccessCtrl.GrantStatus>) => {
  7. console.info(`requestPermissionOnSetting success, result: ${data}`);
  8. }).catch((err: BusinessError) => {
  9. console.error(`requestPermissionOnSetting fail, code: ${err.code}, message: ${err.message}`);
  10. });
在 开发与测试 开放能力API 中进行搜索
请输入您想要搜索的关键词