权限授予后使用中的指示灯或图标不应被应用隐藏
别名: 使用中指示 · 相机绿点 · privacy indicator · orange mic dot
概念解释
系统在相机或麦克风被打开时会点亮不可被应用关闭的指示:状态栏绿点、硬件灯、控制中心的占用列表。应用不得用全屏遮罩、假状态栏、自绘「未在使用」图标、或把自身窗口叠在指示上,使人以为传感器是关的。这条只谈媒体传感器使用中指示不得被藏,不谈授权是仅本次还是持续,也不谈应用设置里那行权限状态。
机制
授权解决的是「可不可以打开」,指示解决的是「此刻开没开」。人用指示做实时审计:绿点亮着却不在拍照,就是异常。应用若能把指示盖住,授权之后的监督被取消,静默取流在界面上变得不可发现。硬件灯比软件图标更难伪造,正因为应用画布覆盖不了灯。隐藏不必是恶意:沉浸式全屏、自定义状态栏、刘海填充都可能在效果上吃掉圆点。对用户,效果与恶意相同——「正在被拍/被录」这一事实从视野里消失。
怎么研究
在相机或麦克风实际打开时,变化应用的窗口模式(全屏、自定义状态栏、画中画、锁屏前的最后一帧),测量人能否在两秒内指出「现在在采集」。
自变量:系统指示是否可见、应用是否绘制冲突的状态栏、是否同时打开两个传感器。 因变量:检出「正在使用」的比例、把指示理解成电量或网络的错误率、发现延迟。
实验室里被试被要求找指示,检出率会偏高。更有效的是让人完成别的任务,再问「刚才有没有在录音」。不要用应用内自己画的红点当「已经有指示」——那一枚可以被关掉,测的不是系统指示。
边界
系统指示本身被无障碍放大或被截屏工具复制时,应用仍不得再盖一层。外接相机、桌面摄像头的硬件灯不在应用画布上,应用要保证自己的全屏不宣称「摄像头未开启」而与灯矛盾。网页全屏有时会裁掉浏览器的占用提示,站点应退出全屏或在内容区用不可关闭的系统级提示,而不是用一张自定义图标代替。
怎么落地
- 打开相机或麦克风时不要绘制覆盖状态栏安全区的遮罩;沉浸式播放也要给系统指示留出不被内容盖住的边。
- 禁止在应用内显示与系统指示相反的「未在使用」;应用自己的「正在录」可以加,但不能当唯一信号,也不能提供关闭它而不停采集的开关。
- 同时使用两项传感器时,不要用一枚自定义图标冒充已经区分了相机与麦克风——区分交给系统占用列表。
- 验证:在真机上打开采集,分别进入全屏、横屏、自定义导航栏、弹层。用另一台设备拍照看状态栏圆点是否仍可见;再找未参与设计的人问「现在有没有在拍或在录」。指示被挡或被读成别的图标,即为失败。