背景

  • 项目中的Camera开发,终端开启摄像头后,第一次对焦后,手动点击屏幕,调用系统的自动对焦无响应.
  • 出现问题的终端系统 : android4.0.4

解决

1.第一次初始化Camera参数

Camera.Parameter p = mCamera.getParameters();p.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);//以下这步贼重要,不能粗心漏了mCamera.setParameters(p);mCamera.autoFocus(new Camera.AutoFocusCallback(){@Overridepublic void onAutoFocus(boolean success, Camera camera) {        Log.i(TAG, "onAutoFocus success = " + success);        if (success) {            mCamera.cancelAutoFocus();        }    }});//如果需要在获取焦点后,再次设置焦点,以下一行代码也贼重要mCamera.cancelAutoFocus();

2.如果需要改变焦点,那么Area必须得改变.

//设置FocusAreas的过程中,list的数据需要改变,系统才会改变焦点.Camera.Parameter p = mCamera.getParameters(); p.setFocusAreas(getNewAreaList());p.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);//以下这句太重要了,再次强调mCamera.setParameters(p);//autoFocus这句也是极其重要的,每次重新获取焦点必备,其中的回调可以重用,减少对象的新建mCamera.autoFocus(new Camera.AutoFocusCallback(){@Overridepublic void onAutoFocus(boolean success, Camera camera) {        Log.i(TAG, "onAutoFocus success = " + success);        if (success) {            mCamera.cancelAutoFocus();        }    }});

更多相关文章

  1. 网页支付宝支付,通过form表单提交,在苹果手机上无法跳转
  2. 显示界面的时候直接获取到EditText焦点弹出键盘
  3. Mac OS 上配置Android(安卓)studio的真机调试环境
  4. Mac 配置Android(安卓)studio 环境变量
  5. Android(安卓)studio改变字体大小
  6. mac下启动adb并安装apk
  7. android布局知识符文(layout)
  8. Android(安卓)ListView的item button点击无响应的解决方法
  9. 移动端---前端在安卓与ios上遇到的坑

随机推荐

  1. php-resque :基于Redis的后台任务系统
  2. 解析PHP的self关键字
  3. php网站怎么做
  4. phpcms如何修改成手机pc自适应
  5. 如何对php文件加密
  6. 使用 phpdbg 来调试php程序
  7. phpcms如何制作模板
  8. 怎么打开php网页
  9. PHP PHP_EOL 换行符
  10. PHP 获取不带命名空间的类名