HarmonyOS开发体验权限申请

时间:2024/11/29 19:28:25 来源:os/2

北京看白癜风哪间医院比较好 https://wapjbk.39.net/yiyuanfengcai/ys_bjzkbdfyy/
一、概述

在,即网络使用的体验中,在module.json5文件中增加了一句代码,即"requestPermissions":[{"name":"ohos.permission.INTERNET"}],这行代码实际上属于权限申请。应用权限申请和分配,是应用场景的一个重要内容,也是一个应用开发者需要了解的知识,因此,本篇将就在HarmonyOS应用框架中如何进行权限申请进行体验。

二、概念

HarmonyOS系统和其他操作系统一样,对于软硬件资源的使用根据权限进行,这主要是为了避免设备的数据或功能不会被不当或恶意使用。在HarmonyOS系统中,权限具有等级的划分和类型的区别。

1、权限等级

HarmonyOS框架将所有的权限划分为三个等级,分别为normal、system_basic和system_core。

normal权限所保护的数据和能力,是不敏感和没有安全威胁的,是一类普通的系统资源,该类型的权限会向APL(ApplicationPermissionLevel)为normal的应用开放。

system_basic权限所保护的数据和能力,具有一般敏感和低安全威胁,通常是系统基础服务相关的资源,这类权限的开放往往对系统本身和用户都有一定的风险,因此只有APL等级为system_basic及以上的应用才能够申请使用。

system_core权限所保护的数据和能力,是极其敏感和高安全威胁,对应着底层服务等系统核心资源,一旦遭受破坏系统就会瘫痪,因此这类权限不会向任何第三方应用开放。

2、权限类型

在HarmonyOS系统中,权限根据类型可划分为system_grant和user_grant,即系统授权和用户授权。

系统授权过程对用户是透明的,权限授予或拒绝,用户视图上不会有任何界面提示,只会在使用到相关功能时才会有感受,例如ohos.permission.INTERNET这一权限没有申请或授予时,所对应的应用将无法使用网络。

用户授权过程是用户可以感知的,并且权限是否授予由用户决定,而非系统。用户授权过程,一般发生于应用安装后的首次启动,以弹窗的形式询问用户是否授予相关权限,例如读取和修改文件,再比如调用相机功能。

三、体验

这一节将根据HarmonyOS应用框架中的权限类型进行体验,即申请系统授权的权限和申请用户授权的权限。

1、配置权限列表

应用申请权限,必须先在module.json5文件中明文声明,以便系统进行必要的准备。权限声明模板一般如下:

权限声明模板

如模板所示,在module.json5文件中声明权限时,不仅要给出明确的权限名,更需要写明申请原因,还要交代使用该权限的具体功能,以及使用该权限的时机。

权限名称以及所属类型,可以从华为开发者联盟上的相关文档查阅。一般来说使用到硬件能力的权限,如摄像头,一般都是用户授权类型的;此外涉及到文件读取的也是用户授权类型,因为用户数据最终存放处便是一个个具体的文件。

权限使用时机可选值为inuse和always两个。

2、调起权限申请弹窗

主要是针对用户授权类型的权限进行操作,在应用初次启动或者初次使用相关功能时,调起一个弹窗请求用户授予相应权限。相关体验代码主要在Ability的onWindowStageCreate方法中修改,如下:

调起权限申请弹窗的代码

上面演示的是无伦用户是否赋予权限,都会执行打开页面的过程。而对于那些深刻依赖权限授予才能运行的功能,应当处理成当用户拒绝授权时退出程序。此时,上述代码可以修改为如下形式:

将页面加载操作放在权限校验判断里面,这里需要提醒一下的是,根据HarmonyOS框架的规定,authResults为0时才表示权限被授予。修改成这种形式后,当用户拒绝授权,那么应用就不会加载功能界面。

四、总结

权限申请对于应用开发者来说,是一项必备的基础技能,否则,所编写的应用程序就只能在默认权限中运行,无法为用户提供更丰富的功能和更人性的体验。然而,申请权限的时候,应当养成的良好习惯就是,只申请最小必要权限,不作无关权限的申请,形成良好的应用风气。

#华为鸿蒙系统#:HarmonyOS开发体验-网络使用

转载请注明:http://www.wsqwo.com/tjyy/14083.html
网站首页 | 网站地图 | 合作伙伴 | 广告合作 | 服务条款 | 发布优势 | 隐私保护 | 版权申明 | 返回顶部