一、问题现象
在项目中使用Camera2自定义相机拍照,在其他手机上没有问题、在华为P40上、相机预览出现绿屏,绿屏如下所示
二、问题原因
预览设置高宽参数不符合相机高宽的话就会有绿条
原来的设置代码如下
imageReader = ImageReader.newInstance(largest.getWidth(), largest.getHeight(),
ImageFormat.JPEG, 2);
三、问题解决
调整设置的高度和宽度即可解决问题。width和height为预览的imageView宽和高
//华为P40需要做特殊适配,像素太高导致绿屏
if ("ANA-AN00".equals(android.os.Build.MODEL) || largest.getWidth() > 4160) {
imageReader = ImageReader.newInstance(width, height,
ImageFormat.JPEG, 2);
} else {
imageReader = ImageReader.newInstance(largest.getWidth(), largest.getHeight(),
ImageFormat.JPEG, 2);
}版权声明:本文为FrancisBingo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。