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

一.背景

之前系统校验权限没有通过的话是采用携带包名跳转系统设置页面进行权限开启(对用户不友好,现在新推出的授权弹窗,在当前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()
          })
相关推荐
anyup14 小时前
🔥2026最推荐的跨平台方案:H5/小程序/App/鸿蒙,一套代码搞定
前端·uni-app·harmonyos
Ranger092919 小时前
鸿蒙开发新范式:Gpui
rust·harmonyos
Huang兄20 小时前
鸿蒙-深色模式适配
harmonyos·arkts·arkui
SummerKaze3 天前
为鸿蒙开发者写一个 nvm:hmvm 的设计与实现
harmonyos
在人间耕耘4 天前
HarmonyOS Vision Kit 视觉AI实战:把官方 Demo 改造成一套能长期复用的组件库
人工智能·深度学习·harmonyos
王码码20354 天前
Flutter for OpenHarmony:socket_io_client 实时通信的事实标准(Node.js 后端的最佳拍档) 深度解析与鸿蒙适配指南
android·flutter·ui·华为·node.js·harmonyos
HarmonyOS_SDK4 天前
【FAQ】HarmonyOS SDK 闭源开放能力 — Ads Kit
harmonyos
Swift社区5 天前
如何利用 ArkUI 框架优化鸿蒙应用的渲染性能
华为·harmonyos
特立独行的猫a5 天前
uni-app x跨平台开发实战:开发鸿蒙HarmonyOS影视票房榜组件完整实现过程
华为·uni-app·harmonyos·轮播图·uniapp-x
盐焗西兰花5 天前
鸿蒙学习实战之路-STG系列(5/11)-守护策略管理-添加与修改策略
服务器·学习·harmonyos