概念:
先了解运用权限的基本概念,要知道:什么是权限级别,什么是授权方式。
1.权限:
在鸿蒙开发中,调用部分 API 时需要申请权限后,才能调用,如:网络请求,获取网络信息等。
2.权限级别:
系统根据应用的APL等级设置进程域和数据域标签,并通过访问控制机制限制应用可访问的数据范围,从而实现在机制上消减应用数据泄露的风险。
不同APL等级的应用能够申请的权限等级不同,且不同的系统资源(如:通讯录等)或系统能力(如:访问摄像头、麦克风等)受不同的应用权限保护。通过严格的分层权限保护,有效抵御恶意攻击,确保系统安全可靠。
3.授权方式:
根据授权方式的不同,权限类型可分为 system_grant 和 user_grant。
(1)system_grant 指的是系统授权类型,在该类型的权限许可下,应用被允许访问的数据不会涉及到用户或设备的敏感信息,应用被允许执行的操作对系统或者其他应用产生的影响可控。
如果在应用中申请了system_grant 权限,那么系统会在用户安装应用时,自动把相应权限授予给应用。
(2)user_grant 指的是用户授权类型,在该类型的权限许可下,应用被允许访问的数据将会涉及到用户或设备的敏感信息,应用被允许执行的操作可能对系统或者其他应用产生严重的影响。
该类型权限不仅需要在安装包中申请权限,还需要在应用动态运行时,通过发送弹窗的方式请求用户授权。在用户手动允许授权后,应用才会真正获取相应权限,从而成功访问操作目标对象。
应用权限列表:
对所有应用开发的权限 - 都能用;
允许ACL跨级别申请权限 - 要签名证书
权限分类:
日历、相机、麦克风、位置:权限级别 normal 所有应用都能用,但授权方式为 user_grant 需弹窗授权。
照片、通讯录:属于跨级权限,需要通过应用市场(AGC)申请签名证书,开发阶段用自动签名即可。
通知:其他权限。