sandrios / sandriosCamera

Easy integration of camera for image and video capturing with Image Picker.
MIT License
187 stars 54 forks source link

Crash: RuntimeException: Camera is being used after Camera.release() was called #53

Open adaonder opened 5 years ago

adaonder commented 5 years ago

Version used; v1.2.6 Android API 28

My logcat;

2019-09-18 10:56:07.866 26277-26917/com.sandrios.sandriosCamera.sample E/MediaExtractor: Trace connect 0x757369bb80 0x757368dc80
2019-09-18 10:56:12.367 26277-26277/com.sandrios.sandriosCamera.sample E/File: /data/user/0/com.sandrios.sandriosCamera.sample/files/IMG_2019_09_18_10_56_07.jpg
2019-09-18 10:56:12.367 26277-26277/com.sandrios.sandriosCamera.sample E/Type: 0
2019-09-18 10:56:13.817 26277-26973/com.sandrios.sandriosCamera.sample E/libc: Access denied finding property "camera.hal1.packagelist"
2019-09-18 10:56:13.942 26277-26277/com.sandrios.sandriosCamera.sample E/RecyclerView: No adapter attached; skipping layout
2019-09-18 10:56:14.003 26277-26277/com.sandrios.sandriosCamera.sample E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.sandrios.sandriosCamera.sample, PID: 26277
    java.lang.RuntimeException: Camera is being used after Camera.release() was called
        at android.hardware.Camera.native_getParameters(Native Method)
        at android.hardware.Camera.getParameters(Camera.java:2094)
        at com.sandrios.sandriosCamera.internal.manager.impl.Camera1Manager.getPhotoSizeForQuality(Camera1Manager.java:207)
        at com.sandrios.sandriosCamera.internal.ui.camera.Camera1Activity.getPhotoQualityOptions(Camera1Activity.java:57)
        at com.sandrios.sandriosCamera.internal.ui.BaseSandriosActivity.onCameraControllerReady(BaseSandriosActivity.java:132)
        at com.sandrios.sandriosCamera.internal.ui.SandriosCameraActivity.setCameraPreview(SandriosCameraActivity.java:112)
        at com.sandrios.sandriosCamera.internal.ui.BaseSandriosActivity.updateCameraPreview(BaseSandriosActivity.java:427)
        at com.sandrios.sandriosCamera.internal.controller.impl.Camera1Controller.onCameraOpened(Camera1Controller.java:131)
        at com.sandrios.sandriosCamera.internal.controller.impl.Camera1Controller.onCameraOpened(Camera1Controller.java:27)
        at com.sandrios.sandriosCamera.internal.manager.impl.Camera1Manager$1$1.run(Camera1Manager.java:71)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6518)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
iskugor commented 5 years ago

More info about this crash: https://stackoverflow.com/questions/38015019/camera-is-being-used-after-camera-release-was-called-in-galaxy-s6-edge

As a workaround, I requested permissions from my code, so library has all permissions before starting.