Android开发——自定义相机拍照遇到java.lang.IllegalStateException

前言

在最近的一个项目需要自定义相机功能,在实现拍照的时候遇到java.lang.IllegalStateException: maxImages (1) has already been acquired, call #close before acquiring more.有点懵逼的感觉,第二次拍照的时候出现这个情况。但是问题不大,不要慌解决方法就在下面。

异常的解决方法

异常是有说明的,我们需要调用close方法。

ImageReader.setOnImageAvailableListener(reader -> {
	// 拿到拍照的数据
	Image image = reader.acquireNextImage();
	// 需要在这个事件监听里面调用close要不然会报上面的错误
	 image.close();
});

只要加多一句代码就可以解决这个问题了,希望对同样开发Android自定义相机的小伙伴有帮助。

你可能感兴趣的:(Android,自定义相机,maxImages,(1),has,already,been)