每项功能只获得它能够说明必要性的系统访问
不要在首次设置时一次批准陪伴类应用请求的全部系统权限。先确定自己要用的功能,等到主动触发该功能时,再选择能够完成动作的最窄范围。一张实用的权限边界卡包含六项:功能、系统资源、触发时机、访问范围、无权限替代、撤销测试。分别用于麦克风、相机、照片、通讯录、定位、蓝牙、附近设备、本地网络和通知。系统权限控制未来能否访问设备资源,并不能说明已经上传的数据如何保存、分享或删除;这些账号内控制必须另列一栏。
先盘点功能,再看权限页面
只列自己正在使用或准备测试的功能,例如语音输入、现场拍照、附加已有图片、寻找已知联系人、按位置产生结果、连接配件、在本地网络发现设备或接收通知。每项功能旁边写明它需要的系统资源,不要把整个权限页复制成“全部必需”。Android 官方说明许多任务可以借助范围更窄的替代入口,并建议等用户主动执行相关动作时再请求权限。如果一项功能没有明确触发按钮、可见输出或具体解释,就保持权限关闭,并把对应关系标为尚未说明。
在使用时请求,并以系统弹窗为准
权限请求紧跟功能按钮时更容易判断:点录音后再请求麦克风,点扫描后再请求相机,点选择后再请求照片。Android 的运行时权限指南建议在情境中请求、允许取消,并在拒绝后让应用其他部分继续使用。应阅读操作系统弹窗,不只相信应用自己绘制的说明页;记录可选范围是一回、所选项目、粗略、使用期间还是更宽。若启动时连续弹出多项权限,却没有对应功能动作,可以先拒绝或推迟,之后逐个打开功能测试。
优先选择器或单次动作,不开放整个资料库
只选一个项目往往足够完成任务,不必开放整个集合。Android 把照片选择器、联系人选择器及其他范围化方式列为宽权限替代。发送附件时选择一张照片或一个文件;设置头像时可使用系统相机动作或单选图片;邀请联系人时可手动输入,或在系统支持时使用联系人选择器。具体选项会随平台与版本变化,所以只记录实际看到的选择。较窄入口必须经过功能测试才算可用:先用普通样本核对选择、上传、裁剪、取消和重试,再处理私人内容。
把传感器访问与已保存结果分开
麦克风权限可以开启录音,但保存的音频、转录、聊天附件或下载文件会成为不同对象。相机权限生成的图片还可能进入相册、云备份、消息历史或导出。通讯录权限用于发现联系人时,服务也可能另存所选标识。关闭系统权限会停止或限制下一次读取,却不必然删除已有录音、图片、派生文字、上传的联系人匹配或分享副本。每项功能都应增加一行存储记录,分别写设备副本、服务对象、派生内容、接收方和删除入口,避免把权限开关误当成完整清理。
蓝牙、附近设备和本地网络要分别判断
蓝牙、附近设备与本地网络不是同一项权限,也不能互相代替。写明功能要连接的具体配件、对端或本地服务,发现过程只需一次还是会重复,以及哪个可见状态说明已经连上。陪伴类应用提供可选集成,并不表示这些权限都该开启。Apple 允许在隐私设置中分别查看蓝牙和本地网络等类别,相机与麦克风使用时也有系统指示。指示灯的意义是提醒检查,不能单独证明访问不当。关闭可选集成、撤销对应权限,再确认普通聊天仍可使用。
设置后与更新后都运行撤销矩阵
每项权限一行,记录授予范围、测试功能、拒绝后的预期、实际结果、残留对象和下次复查条件。一次只撤销一项,重新打开应用,测试依赖它的功能和一个无关的核心动作。合理降级应只阻止或收窄相关功能,清楚说明如何重新开启,而不强迫开放无关资源。重复弹窗、无关功能故障或撤销后仍出现访问,都应记入结果。应用或系统大版本更新、启用新集成或停用功能时重新检查;当前没有功能负责的权限应关闭。
用两栏分开系统控制与账号控制
最后把控制分成两栏。系统栏包括相机、麦克风、照片、通讯录、定位、附近资源、本地网络和通知;账号栏包括历史、上传、转录、记忆、分享、模型相关选择、导出与删除。不得用系统开关证明账号对象已经消失,也不要假设应用内开关能越过操作系统设置。每一项变化都记录准确入口和一个可观察测试。最终状态可以是为这项功能允许、仅所选项目、仅使用期间、拒绝并使用替代,或仍待说明;不能是“应用开口就全部允许”。
常见问题
安装陪伴类应用时要一次允许全部权限吗?
不要。等主动使用功能时阅读系统弹窗,只选择能够完成动作的最窄范围。
撤销麦克风权限会删除旧语音吗?
不会。它限制未来麦克风访问,录音、转录和上传内容要通过各自入口删除。
照片选择器和开放整个相册一样吗?
通常不一样。选择器只提供所选项目,能完成任务时应使用这一窄入口。
