申请运行时权限
Vega定义了一组权限来限制对安全和隐私敏感功能的访问,例如访问摄像头或麦克风。此类权限的访问权限是在运行时授予的,用户可以选择拒绝访问。
应用的设计遵循最小权限原则
应用应仅使用所需的权限,并在访问特权API时请求这些权限。应用必须处理好拒绝,并应当为应用的用户提供友好的回退体验。
权限
Vega有两种类型的权限:
- 安装时权限: 这些权限将在安装应用时记录下来,并在应用请求时自动授予。
- 运行时权限: 这些权限由用户在应用运行时以交互方式授予,可能会被拒绝。如果用户拒绝权限请求,则应用应仍能正常运行,可能功能有限。
在应用清单中声明权限意图
应用在应用的manifest.toml文件中将其所需的权限声明为 [[needs.privilege]]
或 [[wants.privilege]]
部分。请查阅Vega应用清单文件文档。
请求权限
要请求用户明确同意访问受运行时权限保护的资源,则应用必须指定所需的权限。有关更多信息,请参阅安全管理器API。
解释权限请求
如果应用解释了为什么需要访问敏感数据,则应用用户允许访问敏感数据的可能性就会更大。建议应用在请求权限之前显示自身的对话框,向用户说明该应用将如何使用其请求的权限。这也使应用能够说明只会访问特权API的一部分。
权限被拒绝时应友好地降低应用体验
如果用户拒绝权限,则应用以友好方式降低其体验。该应用仍然可以运行,可能同时会突显应用中没有权限就无法运行的部分。如果用户拒绝权限,该应用可能会显示一个用户界面元素,该元素将深层链接到产品设置应用中的特定窗格,以便更改运行时权限。
处理权限状态的更改
用户可以随时更改其对权限的同意。如果用户选择拒绝其先前允许的权限,则系统将终止该权限适用的应用。这可以防止决定更改时应用继续使用已经有权访问的API。
相关主题
Last updated: 2025年9月30日