鸿蒙开发(NEXT/API 12)【二次向用户申请授权】程序访问控制

当应用通过[requestPermissionsFromUser()]拉起弹框[请求用户授权]时,用户拒绝授权。应用将无法再次通过requestPermissionsFromUser拉起弹框,需要用户在系统应用"设置"的界面中,手动授予权限。

在"设置"应用中的路径:

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

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

以下示例代码以再次拉起弹窗申请ohos.permission.MICROPHONE权限为例。

复制代码
import { abilityAccessCtrl, Context, common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
let context: Context = getContext(this) as common.UIAbilityContext;
atManager.requestPermissionOnSetting(context, ['ohos.permission.MICROPHONE']).then((data: Array<abilityAccessCtrl.GrantStatus>) => {
  console.info('data:' + JSON.stringify(data));
}).catch((err: BusinessError) => {
  console.error('data:' + JSON.stringify(err));
});
相关推荐
果粒蹬i2 分钟前
【HarmonyOS】RN of HarmonyOS实战开发项目+TanStack缓存策略
缓存·华为·harmonyos
Swift社区4 分钟前
HarmonyOS PC 的核心:任务模型
华为·harmonyos
柒儿吖1 小时前
基于 lycium 在 OpenHarmony 上交叉编译 komrad36-CRC 完整实践
c++·c#·harmonyos
柒儿吖1 小时前
基于 lycium 在 OpenHarmony 上交叉编译 cppDES 完整实践
c++·harmonyos
俩毛豆1 小时前
获得2025年度鸿蒙开发者社区贡献榜单(问答产出榜、文章产出榜)
华为·harmonyos·鸿蒙
前端不太难2 小时前
HarmonyOS PC 真正难的是状态一致性
华为·状态模式·harmonyos
熊猫钓鱼>_>3 小时前
【开源鸿蒙跨平台开发先锋训练营】Day20 React Native 鸿蒙开发全阶段大复盘:从零到一的跨越
react native·开源·react·harmonyos·鸿蒙·openharmony·native
空白诗3 小时前
基础入门 Flutter for OpenHarmony:Switch 开关组件详解
flutter·harmonyos
Swift社区3 小时前
鸿蒙 PC 架构真正的起点:任务系统
华为·架构·harmonyos
柒儿吖4 小时前
rudp Reliable UDP 库在 OpenHarmony 的 lycium 适配与 CRC32 测试
c++·c#·openharmony