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

向用户申请单次授权

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

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

授权弹窗如下图所示:

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

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

支持范围

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

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

使用限制

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

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

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

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

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

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

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

相关推荐
传奇开心果编程8 小时前
【Flutter踩坑排雷】第19课:路由硬编码坑|字符串路由书写错误,页面跳转失败排查
android·flutter·ios·移动开发·跨平台·ui框架·声明式ui
行者-全栈开发9 小时前
【鸿蒙心迹】国际化 i18n 与多语言资源管理实战(HarmonyOS 7.x)
ui·华为·重构·国际化·harmonyos·多语言
OH_TPC11 小时前
HarmonyOS APP开发---"云客服"远程视频客服App,需要用到这个库
harmonyos
深蓝AI13 小时前
Agent 查数据库先问口径再动手:NVIDIA 开源语义层 Auto Ontology,连续两天登顶 GitHub Python 趋势榜
人工智能·程序员
逆回1 天前
给鸿蒙手机做一只 3D 宠物:五个把我卡住的问题
harmonyos
高晶1 天前
Android 任务管理器开发实战指南
程序员
钉先生贾1 天前
性能、体积与稳定性:怎样写出可信的适配结论
华为·harmonyos
笑 总不会犯错1 天前
摆脱多端数据撕裂,鸿蒙分布式数据库同步与冲突合并
harmonyos
用户117910488331 天前
鸿蒙签名失败不是玄学:5 个证据点把 hapsigntool 一次排通 GitHub:swsgbl/hmharness
开源·ai编程·harmonyos
楠风测开1 天前
Web 兼容性 + AI 跨浏览器
程序员