之前在工作中碰到过两个这样的问题:
【相机】进入淘宝主页,点击左上角的扫一扫进入后界面显示黑屏,点击搜索条右侧的相机小图标进入提示:开启摄像头失败(附图 附log)
【相机】使用支付宝调用相机拍摄小视频,提示:无法连接到相机,请检查相机权限(附图附log)
当时刚开始接入P版本的系统源码,应该也是系统版本不稳定造成的。
通过分析log发现,淘宝/支付宝启动camera,使用的是camera app1:
12-03 05:49:46.173 I/CameraService( 478): CameraService::connect call (PID -1 "com.taobao.taobao", camera ID 0) for HAL version default and Camera API version 1
在看到打印出来的Parameter参数,预览size 1280 x 720在底层是不支持的,所以导致setParameters failed:
12-03 03:05:27.902 E/Camera2-Parameters( 478): set: Requested preview size 1280 x 720 is not supported
12-03 03:05:27.902 W/System.err(13523): java.lang.RuntimeException: setParameters failed
12-03 03:05:27.907 W/System.err(13523): at android.hardware.Camera.native_setParameters(Native Method)
12-03 03:05:27.908 W/System.err(13523): at android.hardware.Camera.setParameters(Camera.java:2125)
12-03 03:05:27.908 W/System.err(13523): at c8