返回知识库

手机 App · 开发与测试

设备权限Device Permissions

相机、定位、相册这类权限要在用到的那一刻申请,并在系统弹窗里写清用途。系统弹窗基本只有一次机会,被拒后主流程要有替代路径和「去设置」入口。

在手机上走一遍拍照打卡

点手机里的「拍照打卡」,在系统弹窗里选「不允许」,再点一次。然后关掉「被拒后提供退路」或把用途说明改成空着,对照差别。

用途说明(会显示在系统弹窗里)
9:415G
今日打卡晨跑 5 公里

下一步:先选一条用途说明,再点手机里的「拍照打卡」。

知识点:问的时机、写的理由、被拒的退路

手机上已经演过,这里只给命名。

  • 用到时再问:在用户点「拍照」的那一刻申请,先用一屏说明用途,同意率更高。
  • 用途说明:写在配置里、显示在系统弹窗上;iOS 缺了会闪退,写得含糊审核可能驳回。
  • 系统弹窗基本只有一次机会:iOS 记住选择后不再弹出,只能由用户去设置里改;安卓 11 起同一权限拒绝两次也不再弹,官方建议直接降级,不要反复劝用户去设置。
  • 被拒是正常分支:主流程要有替代路径,比如从相册选图、手动输入地址。
  • 国内合规:工信部要求在对应功能启动时才申请、并同步告知目的;用户同意隐私政策前不收集信息,被拒后不能频繁弹窗索要。

什么时候用、怎么用

AI 写的代码里一旦出现相机、定位、相册、通讯录、麦克风,就按这张卡验收。

  • 信号:App 一启动就弹多个权限;弹窗文字是英文默认值或只写「需要访问」。
  • 要求 AI:列出 App 申请的全部权限、各自在哪一步申请、用途说明原文、被拒后的替代路径。
  • 照片尽量用系统照片选择器:iOS 和安卓的照片选择器都只交出用户选中的那几张,不用申请相册权限。
  • 验收:在真机上把每个权限都拒绝一遍,主流程仍能完成;去设置打开后能恢复。

正反例:同一个拍照打卡

功能一样,差别只在申请时机和被拒后的处理。

正例点拍照时说明用途再申请,被拒改用相册

用户知道为什么要相机;即使拒绝,也能用相册里的照片完成打卡,之后还能去设置打开。

反例启动时连弹相机、定位、通讯录

用户还没看到功能就被连续索取权限,顺手全拒;之后打卡页一直转圈,国内检测还会判违规。

快速自测

用户拒绝了定位权限,过几天又点「附近跑友」。App 应该怎么做?

继续查证

术语的技术定义和行为以这些一手或权威资料为准。

下一步学

和本知识点经常一起出现的概念。