权限请求应该简单、透明、可理解。
应用应该要说明每一个权限请求的原因,可以通过功能名称或者提供的解释来进行说明。
运行时权限会在用户需要在应用中执行操作时来请求。
被拒绝的权限应该提供反馈和选项。
权限类型
在请求权限前先进行指导
预先请求权限
在需要时请求权限
在需要时进行指导
提供一个直接的福利
只请求相关权限
应用应该要说明每一个权限请求的原因,可以通过功能名称或者提供的解释来进行说明。
运行时权限会在用户需要在应用中执行操作时来请求。
被拒绝的权限应该提供反馈和选项。
在请求权限前先进行指导
预先请求权限
在需要时请求权限
在需要时进行指导
提供一个直接的福利
只请求相关权限
权限可以分为 9 个分组,允许用户授予一个操纵中包含的所有权限。例如,授予的联系人权限包括读取和编辑联系人。
权限 | 描述 |
日历 | 管理日历 |
相机 | 拍摄照片和录制视频 |
联系人 | 管理联系人 |
位置 | 当前设备位置 |
麦克风 | 录音 |
电话 | 拨打和管理电话 |
身体传感器 | 心率和类似数据 |
短信 | 发送和查看信息 |
存储 | 访问照片、媒体和文件 |
用户可以执行有明确意图的操作,例如:
在这些情况下,用户的操作清楚地表明了他们的意图,且不需要弹出权限对话框或进行授权。
使用意图从应用中请求操作。
应用可能会在安装后的任意时间请求权限,来访问信息或使用设备功能。当用户需要在应用中执行操作时(例如使用设备相机),应用可能会在那时请求权限。
用户也可以在安装应用后的任意时间,从系统的设置中允许或拒绝任意应用的权限。
和应用功能相关的权限更有可能被用户授予。以下请求模式将帮助你决定何时以及如何请求权限:
如果你的应用有 “热烈欢迎”,可以用它来解释你的应用是做什么的,以及为什么需要申请这些额外的权限。
在首次启动时,仅申请关键的和明显的权限。因为用户期望短信应用能获取短信权限,因此预先申请这个权限是有意义的。
先等待着,直到调用某项功能时,再申请这项功能所需的权限。当用户想要使用某项功能时,用户会更愿意授予该项功能所需的权限。
在需要权限时,对权限进行解释说明,有助于判断用户的兴趣,并加深用户对权限的理解。
提供片刻令人满足的东西,使用户觉得接受权限会更合理。
当一个功能需要多个权限时,只请求这些权限,不要请求额外的权限。
当权限被拒绝时需要提供反馈。因为拒绝权限可能导致某个功能无法按预期运行,因此每当有一个权限被拒绝时,都应该向用户进行解释。
权限拒绝以下列二选一的方式发生:
要确保需要权限的功能始终能按预期方式运行,应用应该说明需要的权限,并提供一种方式来允许权限。
如果应用因为一个关键权限被拒绝而无法再运行,请解释为什么那个权限必须要允许,并提供一个按钮来打开 “设置”,以便用户来允许权限。