鸿蒙开发Ability Kit(程序框架服务):【向用户申请单次授权】

向用户申请单次授权

基于授权最小化的原则,防止应用获取和滥用用户数据,针对部分应用敏感权限,在弹窗向用户申请授权时,新增"允许本次使用"的授权选项。

开发者在开发应用时,无需额外配置,仍然调用requestPermissionsFromUser()向用户申请授权,系统会根据该能力支持的权限,弹出对应的弹窗。

授权弹窗如下图所示:

设置中的选项如下图所示:

路径:设置 > 隐私 > 权限管理 > 应用 > 目标应用 > 位置信息

支持范围

当前仅支持下列权限,当应用向用户申请下列权限时,弹窗将会出现"允许本次使用"的授权选项,设置中修改权限将会出现"每次询问"授权选项。

  • 剪切板:"ohos.permission.READ_PASTEBOARD"
  • 模糊位置:"ohos.permission.APPROXIMATELY_LOCATION"
  • 位置:"ohos.permission.LOCATION"
  • 后台位置:"ohos.permission.LOCATION_IN_BACKGROUND"

使用限制

  • 当用户点击了"允许本次使用"按钮,将会对应用授予临时的权限。

    • 当应用切换至前台、应用展开卡片且处于当前屏幕可见即卡片可见或者设置后台长时任务的时候(当前仅支持定位导航长时任务),应用的临时权限会一直保持。

      其他情况下启动计时器,十秒之后,取消临时权限,想要再次获取,需要重新授予。

    • 当应用切了后台,开始十秒计时,如果在计时期间,应用处于卡片可见下或者设置了后台长时任务,计时停止。

      直到卡片不可见或者长时任务结束,再次开启十秒计时,计时结束之后,取消临时授权。

      如下图样例所示,相机应用处于卡片可见状态:

  • 当用户在权限设置中选择了"每次询问"按钮,将会对应用授予模糊位置与位置临时权限,取消临时授权同上。

相关推荐
马剑威(威哥爱编程)10 小时前
【共创稿事节】HarmonyOS 7 Agent 开发实战 11:并发多会话隔离
华为·harmonyos
高晶13 小时前
ARM 嵌入式 Linux 文件系统从入门到实战:目录结构、权限管理、选型与挂载排查全攻略
linux·程序员
米米商聊13 小时前
语音进度显示 100%,为什么还不能判定播放结束?
程序员
高晶13 小时前
C 语言实现 BMS 系统中 SPI 通信协议实战指南
设计模式·程序员
传奇开心果编程13 小时前
【Compose Multiplatform跨端声明式UI实用技术】第10课:CMP 导航——Navigation 3 实战
移动开发·编程语言理论·开发范式·编程框架·声明式ui·cmp导航·navigation 3
用户3550901748613 小时前
工业 RAG 实战:忠实度从 0.85 调到 0.95,我们做对了这几件事
程序员
行者-全栈开发14 小时前
【共创稿事节】HarmonyOS 7 空间音频实战:用 AudioSpatializationManager 构建“听得见方位“的声场
harmonyos·arkts·鸿蒙·空间音频·api 26·audio kit
马剑威(威哥爱编程)15 小时前
【共创稿事节】HarmonyOS 7 Agent 开发实战 03:Tool Calling 让 AI 查实时订单与库存
华为·harmonyos
高晶15 小时前
Android 短信收发模块从零到实战:权限配置、界面设计、发送接收与兼容性适配全攻略
android·程序员
倔强的石头10617 小时前
把 Typst 搬上开源鸿蒙 PC:一次“干净”的移植记录
华为·开源·harmonyos