前言
在最近的一个项目需要自定义相机功能,在实现拍照的时候遇到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相机功能时遇到的java.lang.IllegalStateException异常,并提供了解决方案,只需在ImageReader的监听中加入一行代码即可避免多次拍照时出现的问题。
40万+





