6 月 28 日,有用户称,在 vivo NEX 手机设备上通过手机 QQ 浏览器打开某些网页时,手机摄像头会出现一个“升降”动作。对此,QQ 浏览器团队回应称,确认存在调起摄像头动作,但同时称这一动作并不会开启摄像头,更不会拍摄或记录,手机 QQ 浏览器并不会采集用户任何隐私。
 
QQ 浏览器团队解释称,为实现用户对一些功能使用(如扫描二维码),W3C 规范有一个前端标准接口 navigator.mediaDevices.enumerateDevices()可以遍历媒体设备,获取摄像头参数以供后续使用,Android 有两套 API 来操作摄像头,camera1 和 camera2,其中 camera2 不需要打开摄像头就可以获取摄像头参数,而 camera1 需要调用 Camera.Open()函数初始化,以获取摄像头句柄,然后通过摄像头句柄获取摄像头参数(https://developer.android.com/reference/android/hardware/Camera)。考虑到 camera2 在 AR 摄像头等应用中在性能和兼容性上存在很多问题,手机 QQ 浏览器内核使用的是 camera1 接口,导致 vivo NEX 手机用户体验上会出现摄像头“升降”动作。
 
此外,手机 QQ 浏览器团队称,这只是调用了相关的接口,并不会开启摄像头,摄像头也没有做任何拍摄或采集行为,不会采集用户任何隐私。
 
以下是 QQ 浏览器团队回应全文:
关于用 QQ 浏览器打开某些网页会调起 vivo NEX 摄像头问题的说明
 
QQ 浏览器团队收到用户反馈,用户在 vivo NEX 手机设备上通过手机 QQ 浏览器打开某些网页时,手机摄像头会出现一个“升降”动作,对此,QQ 浏览器技术团队对该问题进行了测试复现,确认存在调起摄像头动作,但这一动作并不会开启摄像头,更不会拍摄或记录,现针对该问题作出如下说明:
 
1、问题原因及技术原理:
 
为实现用户对一些功能使用(如扫描二维码),W3C 规范有一个前端标准接口
navigator.mediaDevices.enumerateDevices()可以遍历媒体设备,获取摄像头参数以供后续使用,Android 有两套 API 来操作摄像头,camera1 和 camera2,其中 camera2 不需要打开摄像头就可以获取摄像头参数,而 camera1 需要调用 Camera.Open()函数初始化,以获取摄像头句柄,然后通过摄像头句柄获取摄像头参数(https://developer.android.com/reference/android/hardware/Camera)。考虑到 camera2 在 AR 摄像头等应用中在性能和兼容性上存在很多问题,手机 QQ 浏览器内核使用的是 camera1 接口,导致 vivo NEX 手机用户体验上会出现摄像头“升降”动作。
 
2、手机 QQ 浏览器并不会采集用户任何隐私。
 
实际上,用户在用手机 QQ 浏览器打开某些网页过程中“需要获取摄像头的参数”情况下,vivo NEX 手机的摄像头并没有完全弹出(用户可以使用 QQ 浏览器打开网页
https://qiyaoyuan.github.io/source/webar.html 测试复现),而摄像头也没有做任何拍摄或采集行为,手机 QQ 浏览器并不会采集用户任何隐私。该网页只调用了 mediaDevices.enumerateDevices 接口,并没有其他任何操作。
 
3、我们将优化用户使用感受和体验。
 
再次感谢广大用户对 QQ 浏览器的关注和意见反馈,对给用户造成误解和困惑表示歉意,我们将对这一使用体验进行优化和提示。
 
QQ 浏览器产品团队