Android锁屏出现java.lang.RuntimeException: Camera is being used after Camera.release() was called
来源:互联网 发布:r2v32软件 编辑:程序博客网 时间:2024/06/06 04:49
java.lang.RuntimeException: Camera is being used after Camera.release() was called
在相机开发中,打开相机显示预览,然后按关机键锁屏,出现上述错误,程序崩溃。
原来代码如下:
@Override public void surfaceDestroyed(SurfaceHolder arg0) { // TODO Auto-generated method stub //super.onDestroy(); if(camera != null) {// holder.removeCallback(this);// camera.setPreviewCallback(null); camera.stopPreview(); } holder = null; }
@Override protected void onPause() { super.onPause(); finish();//如果点home键,销毁当前页,返回前一页。 } @Override protected void onDestroy() { super.onDestroy(); if(camera != null) { camera.release(); } finish(); }
之前如果点击home键,再点APP图标进入程序,相机预览界面黑屏,要返回上一页再重新进入当前页相机预览界面才正常显示。后来我想了个偷懒的做法,在onPause方法里添加finish()方法,如果点home键,则销毁当前页,返回前一页。
现在又出现了一个新问题,如果按关机键锁屏,就会出现上面的错误。想到应该是activity的生命周期问题,就在清单文件里配置了禁止横竖屏切换,还是出现上述错误。然后网上搜解决方法,有的说在surfaceDestroyed()添加holder.removeCallback(this),有的说添加holder.removeCallback(this)。经测试,无效。后来在onDestroy方法里camera.release()后添加camera = null,问题解决。
修改后的代码:
@Override protected void onDestroy() { super.onDestroy(); if(camera != null) { camera.release(); camera = null; } finish(); }
相关帖子:java.lang.RuntimeException: Camera is being used after Camera.release() was called
解决java.lang.RuntimeException: Camera is being used after Camera.release() was called
阅读全文
0 0
- Android锁屏出现java.lang.RuntimeException: Camera is being used after Camera.release() was called
- java.lang.RuntimeException: Camera is being used after Camera.release() was called
- java.lang.RuntimeException: Camera is being used after Camera.release() was called
- android bug:Camera is being used after Camera.release() was called
- java.lang.RuntimeException: Method called after release()
- java.lang.RuntimeException: Method called after release()
- java.lang.RuntimeException: Method called after release()
- java.lang.RuntimeException: Method called after release()
- 停止预览时调用Camera.release(), 出现Method called after release()异常问题原因及解决办法
- 关于camera be called after release()的异常
- Android Camera异常:java.lang.RuntimeException: Fail to connect to camera service
- 相机camera.setParameters(parameters)方法出现java.lang.RuntimeException: setParameters failed
- android异常收集-java.lang.RuntimeException: Fail to get camera info
- java.lang.RuntimeException: Fail to connect to camera service
- 华为手机 java.lang.RuntimeException: Unknown camera error(-1)
- java.lang.RuntimeException: java.lang.Throwable: A WebView method was called on thread 'JavaBridge'.
- Method called after release()
- Android 异常 java.lang.RuntimeException: Can't create handler inside thread that has not called Looper
- Android开发--Binder
- KindEditor上传图片
- 点滴知识
- 关于MotionEvent.ACTION_CANCEL带来的滑动问题解决
- 滚动条样式修改 和 placeholder文本框提示字颜色修改
- Android锁屏出现java.lang.RuntimeException: Camera is being used after Camera.release() was called
- Servlet文件下载例子详解及response的contentType类型大全
- 窗体部件效果之滚动字幕
- Ubuntu 14.04下SVN服务器server的搭建和客户端的简单操作
- win10 mysql 5.7免安装版下载及配置教程
- Codeforces Round #424 Div.2 B 【map】
- Python中的交叉分析pivot_table
- Linux的权限解释以及777权限
- SPSS多元线性回归残差分析的基本方法