PiyushMishra
PiyushMishra

Reputation: 5773

Fail to connect to camera Service

I had seen many questions on stack but no one is telling if a Fail to connect to camera service will occur, how to get rid of this RuntimeException.

I have an camera application its working fine, I already take care to release the resources but if somehow user install the other application which not releasing the resources properly, my application facing RuntimeException: Fail to connect to camera Service and hence got crashed, want to avoid this situation.

If i click on original camera application it shows me a AlertDialog

Camera error: Cannot connect to camera.

That's what i exactly want to handle this. I am trying this code to handle it but cant succeed yet.

try {
    camera = Camera.open();
    camera.setDisplayOrientation(90);
} catch (RuntimeException e) {
    // TODO: handle exception
    Log.d("Inside RunTime exception", e+"//");
    camera.setErrorCallback(errorCallback);
    reConnectCameraVideo();
} catch(Exception e) {
    finish();
}

but camera object returning null on camera.setErrorCallback because it wont open.

Upvotes: 0

Views: 1499

Answers (1)

CommonsWare
CommonsWare

Reputation: 1006549

setErrorCallback() cannot be used for the case where the Camera will not open. You appear to be trying to still use the Camera -- AFAIK this is impossible until the user reboots their phone if some other app leaked the Camera. Simply display your own message to that effect.

Also:

  • Use an error logging service, like ACRA, Flurry, BugSense, etc.

  • Never blindly finish an activity due to an exception, as in your last catch block. Always do something to let the user and/or you (via the error logging service) know about the exception

Upvotes: 1

Related Questions