检查相机是否已开启?

时间:2014-11-24 03:28:05

标签: android android-camera

我想创建一个应用程序,它需要知道相机何时打开,相机应用程序是否打开或第三方应用程序是否正在使用相机。这可能吗?

2 个答案:

答案 0 :(得分:1)

尝试此代码(来自Android developer):

/** A safe way to get an instance of the Camera object. */
public static Camera getCameraInstance(){
    Camera c = null;
    try {
        c = Camera.open(); // attempt to get a Camera instance
    }
    catch (Exception e){
        // Camera is not available (in use or does not exist)
    }
    return c; // returns null if camera is unavailable
}

答案 1 :(得分:0)

添加到MâyVàBãos的回答,

打开相机有两种方法 - Camera.open() - 提供默认摄像头 - Camera.open(int id) - 在这里你可以为大多数手机提供一个ID(CameraInfo.CAMERA_FACING_BACK或CameraInfo.CAMERA_FACING_FRONT,我还没有尝试使用LGs 3d相机:P)

如果你得到一个异常或null相机对象,那意味着 - 相机不存在 - 相机由其他应用程序打开,但尚未发布。

在这两种情况下,除了在UI中显示某些消息(如祝酒词)

之外,您无法做很多事情

如果你有一个有效的相机,你可以对它进行操作,如startpreview,停止预览,拍照。

当使用相机的活动进入后台时,几乎所有使用相机的市场应用程序都会释放相机。以便其他应用可以使用它。这也是正确的方法

希望这有帮助。

此致 Shrish