模式 权限

权限

权限请求应该简单、透明、可理解。

应用应该要说明每一个权限请求的原因,可以通过功能名称或者提供的解释来进行说明。

运行时权限会在用户需要在应用中执行操作时来请求。

被拒绝的权限应该提供反馈和选项。

权限类型

在请求权限前先进行指导
预先请求权限
在需要时请求权限
在需要时进行指导
提供一个直接的福利
只请求相关权限

用法 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

权限分组

权限可以分为 9 个分组,允许用户授予一个操纵中包含的所有权限。例如,授予的联系人权限包括读取和编辑联系人。

权限

描述

日历

管理日历

相机

拍摄照片和录制视频

联系人

管理联系人

位置

当前设备位置

麦克风

录音

电话

拨打和管理电话

身体传感器

心率和类似数据

短信

发送和查看信息

存储

访问照片、媒体和文件

默认权限

用户可以执行有明确意图的操作,例如:

  • 拍照
  • 选择一个联系人
  • 开始呼叫或编写短信

在这些情况下,用户的操作清楚地表明了他们的意图,且不需要弹出权限对话框或进行授权。

使用意图从应用中请求操作。

运行时权限 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

应用可能会在安装后的任意时间请求权限,来访问信息或使用设备功能。当用户需要在应用中执行操作时(例如使用设备相机),应用可能会在那时请求权限。

用户也可以在安装应用后的任意时间,从系统的设置中允许或拒绝任意应用的权限。

一个应用请求权限的示例

请求模式 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

和应用功能相关的权限更有可能被用户授予。以下请求模式将帮助你决定何时以及如何请求权限:

  • 权限对于应用核心功能的重要性
  • 权限的透明度

应该预先申请关键权限。辅助权限可以在需要时进行申请。
无论哪种权限,对于不明确的权限都应该提供权限内容的说明。

在请求权限前先进行指导

如果你的应用有 “热烈欢迎”,可以用它来解释你的应用是做什么的,以及为什么需要申请这些额外的权限。

预先申请

在首次启动时,仅申请关键的和明显的权限。因为用户期望短信应用能获取短信权限,因此预先申请这个权限是有意义的。

在需要时申请

先等待着,直到调用某项功能时,再申请这项功能所需的权限。当用户想要使用某项功能时,用户会更愿意授予该项功能所需的权限。

在需要时进行指导

在需要权限时,对权限进行解释说明,有助于判断用户的兴趣,并加深用户对权限的理解。

提供一个直接的福利

提供片刻令人满足的东西,使用户觉得接受权限会更合理。

只请求相关权限

当一个功能需要多个权限时,只请求这些权限,不要请求额外的权限。

被拒绝的权限 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

当权限被拒绝时需要提供反馈。因为拒绝权限可能导致某个功能无法按预期运行,因此每当有一个权限被拒绝时,都应该向用户进行解释。

权限拒绝以下列二选一的方式发生:

  • 权限请求被用户拒绝
  • 因为用户在之前的权限请求中勾选了 “不再询问”,所以权限默认被拒绝,没有提示。

要确保需要权限的功能始终能按预期方式运行,应用应该说明需要的权限,并提供一种方式来允许权限。

为了使用音频功能,snackbar 中显示了需要的权限。

关键权限

如果应用因为一个关键权限被拒绝而无法再运行,请解释为什么那个权限必须要允许,并提供一个按钮来打开 “设置”,以便用户来允许权限。

此屏幕说明了应用需要权限才能运行,并提供了一个指向 “设置” 的链接,以便用户来允许权限。