无法连接到相机服务

时间:2011-10-16 09:06:08

标签: java android android-camera

我在堆栈上看到了很多问题,但是没有人知道是否会发生连接到相机服务的失败,如何摆脱这个RuntimeException

我有一个相机应用程序工作正常,我已经注意释放资源,但如果用户安装另一个没有正确释放资源的应用程序,我的应用程序面临RuntimeException: Fail to connect to camera Service,因此崩溃了,想要避免这种情况。

如果我点击原始相机应用程序,它会显示AlertDialog

Camera error: Cannot connect to camera.

这就是我真正想要处理的问题。我正在尝试使用此代码来处理它,但还不能成功。

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();
}

但是相机对象在camera.setErrorCallback上返回null,因为它不会打开。

1 个答案:

答案 0 :(得分:1)

setErrorCallback()不能用于Camera无法打开的情况。您似乎仍尝试使用Camera - AFAIK这是不可能的,直到用户重新启动手机,如果其他应用程序泄露了Camera。只需显示您自己的消息即可。

此外:

  • 使用错误记录服务,如ACRA,Flurry,BugSense等。

  • 永远不要盲目地完成由于异常而导致的活动,就像在上一个catch块中一样。始终做一些事情让用户和/或您(通过错误记录服务)了解异常