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

一.背景

之前系统校验权限没有通过的话是采用携带包名跳转系统设置页面进行权限开启(对用户不友好,现在新推出的授权弹窗,在当前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 小时前
鸿蒙日志体系高级应用:HiLog分级输出/隐私脱敏/远程日志采集/线上问题精准溯源方案
学习·harmonyos·鸿蒙
程序员黑豆16 小时前
鸿蒙应用开发:AttributeModifier 使用教程
前端·harmonyos
HarmonyOS_SDK16 小时前
基于人体骨骼点识别与跟踪,实现低时延体感游戏
harmonyos
世人万千丶17 小时前
鸿蒙Crash高级捕获与异常监控:全局异常兜底/崩溃栈解析/符号表还原/智能聚类/闭环修复
学习·机器学习·华为·数据挖掘·harmonyos·鸿蒙·聚类
云端漫步198719 小时前
HarmonyOS NEXT AI 智能生活助手:创建企业级 AI 工程与目录结构
人工智能·生活·harmonyos
程序员黑豆1 天前
鸿蒙应用开发 @Extend 装饰器使用教程
前端·harmonyos
超爱西西鸭1 天前
鸿蒙大型项目高级模块化拆分:高内聚低耦合架构设计/HSP动态交付/接口契约/依赖倒置落地规范
学习·华为·harmonyos·鸿蒙
云端漫步19871 天前
HarmonyOS NEXT AI 智能生活助手:PromptManager 设计与实现
人工智能·生活·harmonyos
yuanlaile1 天前
Flutter 开发鸿蒙 App 踩坑总结,一套完整实战学习方案分享
flutter·harmonyos·flutter开发鸿蒙·flutter开发鸿蒙实战·flutter ai实战·鸿蒙 ai实战