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

向用户申请单次授权

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

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

授权弹窗如下图所示:

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

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

支持范围

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

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

使用限制

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

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

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

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

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

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

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

相关推荐
一只大侠的侠几秒前
Flutter开源鸿蒙跨平台训练营 Day 4实现流畅的下拉刷新与上拉加载效果
flutter·开源·harmonyos
Android系统攻城狮26 分钟前
鸿蒙系统Openharmony5.1.0系统之解决编译时:Node.js版本不匹配问题(二)
node.js·鸿蒙系统·openharmony·编译问题·5.1
万岳科技程序员小金35 分钟前
多商户商城系统源码 + APP/小程序开发:技术架构与应用解
程序员·开源·源码·多商户商城系统源码·多商户商城小程序·多商户商城app开发·多商户商城平台开发
早點睡39036 分钟前
高级进阶 ReactNative for Harmony 项目鸿蒙化三方库集成实战:react-native-drag-sort
react native·react.js·harmonyos
果粒蹬i1 小时前
【HarmonyOS】DAY9:利用React Native开发底部 Tab 开发实战:从问题定位到最佳实践
华为·harmonyos
lbb 小魔仙2 小时前
【HarmonyOS实战】OpenHarmony + RN:自定义 useForm 表单管理
harmonyos
早點睡3902 小时前
高级进阶 ReactNative for Harmony 项目鸿蒙化三方库集成实战:react-native-video
react native·华为·harmonyos
开开心心就好2 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
前端不太难2 小时前
HarmonyOS 游戏项目,从 Demo 到可上线要跨过哪些坑
游戏·状态模式·harmonyos
全栈探索者3 小时前
列表渲染不用 map,用 ForEach!—— React 开发者的鸿蒙入门指南(第 4 期)
react.js·harmonyos·arkts·foreach·列表渲染