拒绝后其余功能需继续可用
别名: 权限降级 · 拒绝后可用 · permission fallback · graceful degradation
概念解释
拒绝一项权限之后,不依赖该能力的功能必须仍能走完。位置被拒,仍可按地址搜索;通知被拒,仍可在打开应用时看到更新;通讯录被拒,仍可手动输入号码。把一次拒绝做成整应用锁死、空白页或强制退出,是把可选授权变成入场券。这条只谈拒绝之后产品是否还通,不谈如何把降级方案写明白,也不谈用反复弹窗把人逼回允许。
机制
权限是能力开关,不是产品许可证。人拒绝的是某一传感器或某一数据集,默认假设其余界面与数据仍按原契约工作。若拒绝导致主路径断裂,决策从「评这项能力」变成「要不要继续用这个产品」,压力来自失去已投入的注册与内容,而不是来自该能力的真实必要。降级把依赖局部化:缺位置就改用手输,缺相机就改成上传文件,缺通知就改成应用内收件箱。局部化失败时,拒绝不再是隐私选择,而是惩罚。
怎么研究
给同一产品准备「授权组」与「拒绝组」,拒绝组在系统层关掉目标权限后走主任务。
自变量:被拒权限是否被标为核心、拒绝后是否锁死导航、是否提供替代输入。 因变量:主任务完成率、完成时长、非相关功能的到达率、把失败归因于「应用坏了」还是「我关了权限」。
实验室被试若被要求必须完成,会回头去开权限,测不到真实放弃。远程任务更合适。不要用允许率当唯一成功指标——降级做得好时,拒绝组的任务完成率可以仍然很高,这是目标而不是缺陷。
边界
该能力是当前任务的物理前提(没有相机就不能现场扫描证件、没有麦克风就不能通话)时,当前这一步无法完成,但应用的其他区域——历史记录、设置、已下载内容——仍应可进。安全策略禁止在无权限下降级的场景(某些企业容器、支付核身)需要一开始就不提供「可拒绝仍继续」的假选项。离线或权限尚未被询问时谈的是另一类不可用,不是拒绝后的降级。
怎么落地
- 为每条权限画一张依赖图:哪些屏幕、接口、后台任务真正读取它。凡是图上没有的入口,拒绝后必须可点、可完成。
- 主路径上准备替代手段:手输地址、文件上传、应用内消息列表;替代手段不得再去调同一权限 API。
- 禁止在拒绝回调里清空导航栈、弹「无权限无法使用」的全屏、或把用户踢回登录。
- 验证:在系统设置中关掉该权限后冷启动,沿主路径点完所有一级入口。任何与该能力无关的入口若不可用,就记为缺陷。再统计拒绝组的任务完成率,目标是与授权组在非该能力步骤上没有差距。