CameraFragment icon indicating copy to clipboard operation
CameraFragment copied to clipboard

java.lang.RuntimeException Camera is being used after Camera.release() was called

Open luizfp opened this issue 7 years ago • 2 comments

I got this exception just once in a Samsung Galaxy J2 with Android 5.1.1. Library version: 1.0.6.

Here is the full stacktrace:

Fatal Exception: java.lang.RuntimeException: Camera is being used after Camera.release() was called
       at android.hardware.Camera.native_getParameters(Camera.java)
       at android.hardware.Camera.getParameters(Camera.java:1976)
       at com.github.florent37.camerafragment.internal.manager.impl.Camera1Manager.getPhotoSizeForQuality(Camera1Manager.java:261)
       at com.github.florent37.camerafragment.internal.manager.impl.Camera1Manager.getPhotoQualityOptions(Camera1Manager.java:624)
       at com.github.florent37.camerafragment.internal.controller.impl.Camera1Controller.getPhotoQualityOptions(Camera1Controller.java:210)
       at com.github.florent37.camerafragment.internal.ui.BaseAnncaFragment.setCameraPreview(BaseAnncaFragment.java:643)
       at com.github.florent37.camerafragment.internal.ui.BaseAnncaFragment$3.updateCameraPreview(BaseAnncaFragment.java:183)
       at com.github.florent37.camerafragment.internal.controller.impl.Camera1Controller.onCameraOpened(Camera1Controller.java:158)
       at com.github.florent37.camerafragment.internal.controller.impl.Camera1Controller.onCameraOpened(Camera1Controller.java:30)
       at com.github.florent37.camerafragment.internal.manager.impl.Camera1Manager$1$1.run(Camera1Manager.java:73)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:145)
       at android.app.ActivityThread.main(ActivityThread.java:6946)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

luizfp avatar Nov 26 '17 19:11 luizfp

I got the same problem

andrian1311 avatar Jan 09 '18 03:01 andrian1311

Go to Camera1Manager.java file. -> closeCamera(). in this method, before camera.release(). put below two lines of code.

camera.stopPreview();
camera.setPreviewCallback(null);
camera.release();

This solved my problem.

vikoo avatar Jan 11 '18 19:01 vikoo