Description
Hi,
I'm using CameraSource from visionSamples/barcode-reader/app/src/main/java/com/google/android/gms/samples/vision/barcodereader/ui/camera/CameraSource.java to process, with my own detector/processor (currently doing nothing) and taking pictures every 5 minutes (running in a service).
After around 8 hours, when a try to take a picture, I get:
W/CameraBase: Camera service died!
W/CameraBase: mediaserver's remote binder Camera object died
E/Camera: Error 100
I add a camera error callback to get the error and restart the service:
`camera.setErrorCallback(new Camera.ErrorCallback() {
@OverRide
public void onError(int error, Camera camera) {
Log.e(TAG,"Camera error: "+error);
if(error == Camera.CAMERA_ERROR_SERVER_DIED) {
try {
stop();
start();
}
catch(Exception e){
Log.e(TAG,"Exception restarting camera",e);
}
}
}
});`
But I get this exception:
D/Camera: app passed NULL surface
I/ServiceManager: Waiting for service media.camera...
E/OpenCameraSource: No supported preview sizes
E/OpenCameraSource: Exception restarting camera
java.lang.RuntimeException: Could not find suitable preview size.
Then, I try to restart the app, but I get:
03-18 10:09:33.883 18298-18298/cl.visualprogress.timelapser W/CameraBase: An error occurred while connecting to camera: 0
03-18 10:09:33.899 18298-18298/cl.visualprogress.timelapser E/VisionService: startCamera Exception: Fail to connect to camera service
java.lang.RuntimeException: Fail to connect to camera service
at android.hardware.Camera.(Camera.java:497)
at android.hardware.Camera.open(Camera.java:342)
at cl.visualprogress.timelapser.utils.CameraSource.createCamera(CameraSource.java:768)
at cl.visualprogress.timelapser.utils.CameraSource.start(CameraSource.java:359)
at cl.visualprogress.timelapser.services.VisionService.startCamera(VisionService.java:78)
at cl.visualprogress.timelapser.services.VisionService.onStartCommand(VisionService.java:43)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2894)
at android.app.ActivityThread.access$2100(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1401)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
I need to restart the phone to get the camera work again.
Can someone help me?