如何修复无法连接到Android上的摄像头服务?

时间:2017-07-07 06:04:03

标签: android camera

我的应用发生了Fail to connect to camera service错误。

因为我故意断开相机。

这个问题。如果用户故意断开相机。发生Fail to connect to camera service,app就死了。

我想如果相机断开连接,应用程序不会死。

我的来源

private static Camera mCamera = null;

if (mCamera == null) {
    mCamera = Camera.open(0);
    if (mCamera != null) {
        mCamera.lock();
    }
} ...

如果在未连接相机时如何避免相机开启?

感谢。

1 个答案:

答案 0 :(得分:0)

首先,在API级别21中弃用android.hardware.Camera。如果您将API级别设置为21级或更高级别,则应使用android.hardware.camera2

如果打开相机失败但是返回null,则

Camera.open(0)抛出异常。有关详细信息,请参阅documentation。因此,您需要捕获异常而不是检查null。

if (mCamera == null) {
    try {       
        mCamera = Camera.open(0);
        mCamera.lock();
        ...
    } catch(RuntimeException e) {
        // opening the camera fails
    }
} ...