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

向用户申请单次授权

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

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

授权弹窗如下图所示:

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

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

支持范围

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

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

使用限制

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

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

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

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

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

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

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

相关推荐
鸿蒙小灰14 分钟前
鸿蒙OpenCV移植技术要点
opencv·harmonyos
鸿蒙先行者18 分钟前
鸿蒙分布式能力调用失败解决方案及案例
分布式·harmonyos
大雷神10 小时前
鸿蒙中应用闪屏解决方案
华为·harmonyos
奶糖不太甜15 小时前
鸿蒙UI布局不兼容解决方案笔记
harmonyos
小小小小小星15 小时前
鸿蒙开发调试技巧整理
harmonyos
HarderCoder15 小时前
重学仓颉-2基础编程概念详解
harmonyos
架构师沉默15 小时前
Java 状态机设计:替代 if-else 的优雅架构
java·程序员·架构
文心快码BaiduComate16 小时前
为什么编码智能体可以重塑开发范式?
程序员
AI大模型16 小时前
重磅!Ollama发布UI界面,告别命令窗口!
程序员·llm·ollama
AI大模型16 小时前
技术实践 | 几乎零代码!像搭乐高一样做AI应用,LazyLLM确实有点东西!
程序员·llm·agent