camera多次调用出现错误或无法回调PictureCallback接口onPictureTaken()函数的解决方法

简介: camera多次调用出现错误或无法回调PictureCallback接口onPictureTaken()函数的解决方法

最近做的项目都是Android的定制设备的项目,最近的一个需求是需要拍照上传,然后进行其他的操作,对这个要求需要实现秒级,但是拍照、上传、再加上自己的一些操作,很难达到这个要求,因为拍照里面涉及到对焦,预览,图片压缩等,于是想到了一些减少耗时的办法,就是相机在后台静默拍照,程序打开的时候就初始化启动相机,需要上传上传拍照的时候就可以直接进行拍照了,这样就不用每次都去打开相机了。本来用着是没问题的,测试也通过了,然后就暂时没管了,结果用了一段时间之后,客户反馈说App设置成拍照模式之后闪退了,赶紧拿出以前的代码亲测一遍,果然GG了,实在是想不通,以前公司测试了都是通过的呀,然后debug了一下,


发现多次调用camera之后PictureCallback接口的onPictureTaken()函数有时候会不行,这个是随机的,没有固定次数,然后就去百度了。以下是百度的结果:


Android Camera中无法回调PictureCallback接口onPictureTaken()函数


camera多次调用出现错误解决方法

最后自己的解决办法是拍照之后调用如下代码:

myCamera.cancelAutoFocus(); //这一句很关键
myCamera.startPreview();


最近公司还是觉得这个拍照有点慢,还有点low,不能满足实际效果,想换成人脸识别,对这一块还不了解,知道的小伙伴可以留言建议哟。主管让我去学一下人脸识别算法,看得我好懵逼呀!!!有没有简单点的实现方式呀。


这里有一些相关的博文,没解决的可以看一下:

Android相机开发中遇到的一些问题



相关文章
|
开发者
使用jsapi 调用openPageInWorkBenchForPC提示未找到该方法?
使用jsapi 调用openPageInWorkBenchForPC提示未找到该方法?
133 1
|
Python
Python多线程下调用win32com包相关问题:pywintypes.com_error: (-2147221008, ‘尚未调用 CoInitialize。‘, None, None)问题处理
Python多线程下调用win32com包相关问题:pywintypes.com_error: (-2147221008, ‘尚未调用 CoInitialize。‘, None, None)问题处理
1195 0
|
Java
CheerpJ调用的两种方式
CheerpJ调用的两种方式
261 0
|
网络协议 C# 计算机视觉
关于 C#调用C库Dll,有回调函数时,只执行一次回调函数就直接挂掉 的解决方法
关于 C#调用C库Dll,有回调函数时,只执行一次回调函数就直接挂掉 的解决方法
关于 C#调用C库Dll,有回调函数时,只执行一次回调函数就直接挂掉 的解决方法