模式 权限

权限

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

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

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

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

权限类型

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

用法 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 中显示了需要的权限。

关键权限

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

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