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

一.背景

之前系统校验权限没有通过的话是采用携带包名跳转系统设置页面进行权限开启(对用户不友好,现在新推出的授权弹窗,在当前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()
          })
相关推荐
爱吃大芒果10 小时前
复刻 HarmonyKit 工具箱:基于新版 @kit 开发本地工具 App
华为·harmonyos
风华圆舞10 小时前
鸿蒙上跑通第一个 AI Agent:5 分钟接入智谱/DeepSeek
人工智能·华为·harmonyos·arkts·arkui·toolregistry
xd18557855512 小时前
电影匹配引擎-基于鸿蒙的心情电影推荐应用开发实践
人工智能·安全·华为·harmonyos·鸿蒙
千逐6813 小时前
HarmonyOS 实战 | @State 不神秘——变量一变界面就跟着变
华为·harmonyos·鸿蒙
不才难以繁此生13 小时前
NavPathStack 返回错页怎么排查:中式美食详情页从搜索、收藏和推荐进入怎么回到原处
harmonyos·arkts·arkui·中式美食·navpathstack
xd18557855516 小时前
梦境解析师-基于鸿蒙的梦境心理分析应用开发实践
人工智能·华为·harmonyos·鸿蒙
千逐6816 小时前
鸿蒙实战:一多自适应与原子化布局 —— 一次开发多端部署的工程化落地
华为·harmonyos·鸿蒙
解局易否结局17 小时前
鸿蒙原生开发实战:Native 并发与高性能计算
华为·harmonyos
xo1988201118 小时前
鸿蒙 AI 自动化开发:让 AI 学会自己编译、自己调试
人工智能·自动化·harmonyos
HarmonyOS_SDK18 小时前
差异化推送消息能力,助力支付宝腕上消息业务闭环
harmonyos