CameraFragment icon indicating copy to clipboard operation
CameraFragment copied to clipboard

Issue with camera being used post release

Open shannon-rodricks opened this issue 9 years ago • 6 comments

Hi, Firstly thanks for the great library. Ive implemented it in an app of mine and Im getting the following error for certain users

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:1944) at com.github.florent37.camerafragment.internal.manager.impl.Camera1Manager.getPhotoSizeForQuality(Camera1Manager.java:271) at com.github.florent37.camerafragment.internal.manager.impl.Camera1Manager.getPhotoQualityOptions(Camera1Manager.java:680) at com.github.florent37.camerafragment.internal.controller.impl.Camera1Controller.getPhotoQualityOptions(Camera1Controller.java:216) at com.github.florent37.camerafragment.internal.ui.BaseAnncaFragment.setCameraPreview(BaseAnncaFragment.java:653) at com.github.florent37.camerafragment.internal.ui.BaseAnncaFragment$3.updateCameraPreview(BaseAnncaFragment.java:188) at com.github.florent37.camerafragment.internal.controller.impl.Camera1Controller.onCameraOpened(Camera1Controller.java:164) at com.github.florent37.camerafragment.internal.controller.impl.Camera1Controller.onCameraOpened(Camera1Controller.java:32) at com.github.florent37.camerafragment.internal.manager.impl.Camera1Manager$1$1.run(Camera1Manager.java:74) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) 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:902) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697)

Its not something happening on every device and everytime its used but it does crop up from time to time. Havent been able to identify the exact conditions as yet but any help would be appreciated. Thanks.

shannon-rodricks avatar Mar 01 '17 10:03 shannon-rodricks

I'm having the same issue one in three tries with a rooted galaxy s4

alez007 avatar Jun 14 '17 12:06 alez007

I have the same problem with Nexus_4_API_19. Sometimes works and sometines not working.

I don't know what happend

This is the stack;

java.lang.NullPointerException 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)

rkalakota avatar Jun 26 '17 09:06 rkalakota

A massive hack fixed it for me. Adding a delay of 1000ms using a Handler. I feel dirty though.

RafagSL avatar Jul 07 '17 11:07 RafagSL

I am also facing the same problem. one use case to reproduce this issue - try switching camera (very fast). You will be able see same crash.

shubham0390 avatar Jul 31 '17 08:07 shubham0390

@RafagSL Where did you add delay of 1000ms?

sreekanth100khere avatar Apr 26 '18 12:04 sreekanth100khere

Adding the below code before camera.release() fixed the issue for me. camera.stopPreview(); camera.setPreviewCallback(null); camera.lock();

ishaan-khan avatar Nov 22 '18 12:11 ishaan-khan