首页 > 其他分享 >鸿蒙安全控件简介

鸿蒙安全控件简介

时间:2024-11-21 22:18:06浏览次数:1  
标签:控件 鸿蒙 简介 用户 安全 开发者 应用 授权

安全控件是系统提供的一组系统实现的ArkUI组件,应用集成这类组件就可以实现在用户点击后自动授权,而无需弹窗授权。它们可以作为一种“特殊的按钮”融入应用页面,实现用户点击即许可的设计思路。

相较于动态申请权限的方式,安全控件可基于场景化授权,简化开发者和用户的操作,主要优点有:

  1. 用户可掌握授权时机,授权范围最小化。
  2. 授权场景可匹配用户真实意图。
  3. 减少弹窗打扰。
  4. 开发者不必向应用市场申请权限,简化操作。

安全控件坚持仅采集实现业务功能所必须的个人数据,以服务于用户的需求,帮助开发透明、可选、可控的隐私合规应用。

安全控件列表

目前系统提供三类安全控件

粘贴控件(PasteButton)

该控件对应剪贴板读取特权。应用集成粘贴控件后,用户点击该控件,应用读取剪贴板数据时不会弹窗提示。

建议使用场景:粘贴控件可以用于任何应用需要读取剪贴板的场景,避免弹窗提示对用户造成干扰。

保存控件(SaveButton)

该控件对应媒体库写入特权。应用集成保存控件后,用户点击该控件,应用会获取10秒内访问媒体库特权接口的授权。

建议使用场景:保存控件可以用于任何应用需要保存文件到媒体库的场景(保存图片、保存视频等)。与Picker需要拉起系统应用再由用户选择具体路径保存的方式不同,保存控件将直接保存到指定媒体库路径,操作更快捷。

位置控件(LocationButton)

该控件对应精准定位特权。应用集成位置控件后,用户点击该控件,无论应用是否申请过或者被授予精准定位权限,都会在本次前台期间获得精准定位的授权,可以调用位置服务获取精准定位。

建议使用场景:应用不是强位置关联应用(如导航、运动健康等),仅在部分前台场景需要使用位置信息(如定位城市、打卡、分享位置等)。如果需要长时间使用或是在后台使用位置信息,建议申请位置权限。

运作机制

整体方案由安全控件UI组件、安全控件管理服务、安全控件增强组成:

  • UI组件:实现了固定文字图标的样式,便于用户识别,同时提供了相对丰富的定制化能力,便于开发者定制。
  • 控件管理服务:提供控件注册管理能力、控件临时授权机制、管理授权生效周期,确保应用后台、锁屏下无法注册使用安全控件。
  • 安全增强:实现了地址随机化、挑战值检查、回调UI框架复核控件信息、调用者地址检查、组件防覆盖、真实点击事件校验等机制,防止应用开发者通过混淆、隐藏、篡改、仿冒等方式滥用授权机制,泄露用户隐私。

开发者调用接口时,运作流程如图所示。
img1

约束与限制

安全控件因其自动授权的特性,为了保障用户的隐私不被恶意应用获取,针对安全控件作了很多的限制。应用开发者需保证安全控件在应用界面上清晰可见、用户能明确识别,防止因覆盖、混淆等因素导致授权失败。

当因控件样式不合法导致授权失败的情况发生时,请开发者检查设备错误日志,过滤关键字"SecurityComponentCheckFail"可以获取具体原因。

标签:控件,鸿蒙,简介,用户,安全,开发者,应用,授权
From: https://www.cnblogs.com/zhaloe/p/18561696

相关文章

  • 【C#应用】Windows Forms 自定义仪表盘控件开发
    本教程将详细介绍如何在WindowsForms中创建一个自定义的仪表盘控件。这个控件具有以下特性:可配置的颜色区间平滑的动画效果可自定义的外观刻度和数值显示设计时支持,这个以前没咋研究过,有点尴尬了。。先看一下效果以前一直没有认真的实现过控件集合编辑,发现这块还......
  • 鸿蒙HarmonyOS NEXT开发:鸿蒙应用中图片上传流程解析,从图库中、用户拍照(拉起相机)获取照
    一、总体流程概述无论采用哪种方式上传图片,都需要先把用户选择的图片放到应用的沙箱中,再进行上传操作。不同方式的主要区别在于选择照片的形式。二、不同方式选择照片(一)拍照拿取照片代码实现constpickerResult:cameraPicker.PickerResult=awaitcameraPicker.pick(get......
  • 鸿蒙HarmonyOS NEXT开发:数据持久化方案解析与实践
    (一)PersistentStorage实现应用持久化数据管理功能概述:        通过PersistentStorage类可管理应用持久化数据,能将特定标记的持久化数据链接到AppStorage中,再由AppStorage接口访问对应数据。持久化后的数据会生成本地xml文件保存,文件路径为/data/app/el2/1......
  • 鸿蒙NEXT开发案例:血型遗传计算
     【引言】血型遗传计算器是一个帮助用户根据父母的血型预测子女可能的血型的应用。通过选择父母的血型,应用程序能够快速计算出孩子可能拥有的血型以及不可能拥有的血型。这个过程不仅涉及到了简单的数据处理逻辑,还涉及到UI设计与交互体验的设计。【环境准备】•操作系统:Win......
  • 鸿蒙5.0南向开发:HiChecker开发指导
     鸿蒙NEXT开发实战往期必看文章:一分钟了解”纯血版!鸿蒙HarmonyOSNext应用开发!“非常详细的”鸿蒙HarmonyOSNext应用开发学习路线!(从零基础入门到精通)HarmonyOSNEXT应用开发案例实践总结合(持续更新......)HarmonyOSNEXT应用开发性能优化实践总结(持续更新......)概述Hi......
  • 鸿蒙5.0南向开发:HiDumper开发概述
     鸿蒙NEXT开发实战往期必看文章:一分钟了解”纯血版!鸿蒙HarmonyOSNext应用开发!“非常详细的”鸿蒙HarmonyOSNext应用开发学习路线!(从零基础入门到精通)HarmonyOSNEXT应用开发案例实践总结合(持续更新......)HarmonyOSNEXT应用开发性能优化实践总结(持续更新......)功能简......
  • 鸿蒙5.0南向开发:HiSysEvent工具
     鸿蒙NEXT开发实战往期必看文章:一分钟了解”纯血版!鸿蒙HarmonyOSNext应用开发!“非常详细的”鸿蒙HarmonyOSNext应用开发学习路线!(从零基础入门到精通)HarmonyOSNEXT应用开发案例实践总结合(持续更新......)HarmonyOSNEXT应用开发性能优化实践总结(持续更新......)概述目......
  • 如何根据子控件名字获取子控件
    publicstaticTFindChild<T>(DependencyObjectparent,stringchildName)whereT:DependencyObject{//检查null情况if(parent==null)returnnull;TfoundChild=null;intchildrenCount=Visu......
  • 鸿蒙项目实战(六):HMRouter实现两次返回退出应用
    1、定义一个生命周期类ExitAppLifecycle实现IHMLifecycle接口import{HMLifecycle,HMLifecycleContext,IHMLifecycle}from'@hadss/hmrouter';@HMLifecycle({lifecycleName:'ExitAppLifecycle'})exportclassExitAppLifecycleimplementsIHMLifecycle{......
  • 分享个人在项目中使用过最强的企业级表格、顶级表格控件推荐 vxe-table
    专业的表格控件SpreadJS、ad-grid、vxe-table对比评测,仅对个人实际使用中的开发体验分享、仅供参考做过很多大型项目,ERP、企业内部管理系统,一个系统好不好用基本就是看表格做得好不好了。一般业务的列表页面、增删改查页面、表单页面等。总结实现Excel在线协同功能就选Spr......