鸿蒙权限授权弹窗(推荐)

一.背景

之前系统校验权限没有通过的话是采用携带包名跳转系统设置页面进行权限开启(对用户不友好,现在新推出的授权弹窗,在当前app弹出,也可以更好的监听权限授权是否完成的回调)

二.代码

我这里以位置权限为例(校验位置和精确位置)两个权限申请
TypeScript 复制代码
  Text('去开启')
          .width('50%')
          .fontColor('#006BFF')
          .fontSize(this.changeFontSize - 2)
          .textAlign(TextAlign.Center)
          .onClick(() => {
            let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
            let context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext;
            this.controller?.close()
            atManager.requestPermissionOnSetting(context,
              ['ohos.permission.APPROXIMATELY_LOCATION', 'ohos.permission.LOCATION'])
              .then((data: Array<abilityAccessCtrl.GrantStatus>) => {
                // 如果是一个权限替换为这行代码
                // if (data[0] === abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) 

                // 多个权限校验
                const allGranted = data.every((res) => res === 0);
                if (allGranted) {
                  //通过校验事件 申请权限成功
                } else {
//没有通过
                  promptAction.showToast({
                    message: '请打开位置权限(包括精确位置)',
                    duration: 2000,
                    alignment: Alignment.Center
                  })

                }
              })
              .catch((err: BusinessError) => {
                // hilog.error(0x0000, 'testTag', `data: ${JSON.stringify(err)}`);
              });
            //旧版挑战申请
            // this.openPermissionSettingsInSettingPage()
          })
相关推荐
谷子在生长11 小时前
纯血鸿蒙自定义弹窗最佳实践:从「到处复制」到「一行调用」
前端·harmonyos
小魔女千千鱼19 小时前
把 Go 塞进鸿蒙PC:windows上用 c-shared 跑 2048
harmonyos
TrisighT19 小时前
Electron 跑在鸿蒙 PC 上,单窗口和多窗口内存差 800MB?我抓了 5 组数据
性能优化·electron·harmonyos
TrisighT2 天前
AI写埋点代码,35%覆盖率坑惨运营
harmonyos·arkts·arkui
Junerver5 天前
把 DevEco Code 的 HarmonyOS 开发能力装进口袋——harmonyos-dev-skill
harmonyos
程序猿追5 天前
那个右下角的小数字怎么“卡”住我打字——我用 HarmonyOS 自己写了一个字数限制输入框
pytorch·华为·harmonyos
古德new5 天前
鸿蒙PC使用electron迁移:Joplin Electron 桌面适配全记录
华为·electron·harmonyos
世人万千丶5 天前
桌面便签小应用 - HarmonyOS ArkUI 开发实战-TextArea与Flex布局-PC版本
华为·harmonyos·鸿蒙·鸿蒙系统
慧海灵舟5 天前
AGenUI 鸿蒙端实战踩坑录:从 Column 布局消失到异步组件宽度为 0
华为·harmonyos