2014-11-24 82 views

回答

0

试试这个代码(从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 
} 
+0

这是什么返回,如果相机上? – 2014-11-24 04:45:29

+0

如果相机处于此代码将导致异常(这是因为另一个应用程序正在使用相机) – 2014-11-24 18:11:59

0

添加到可VA BAOS答案,

有两种打开相机 的两种方式 - Camera.open() - 给出了默认的相机

如果你得到: - - Camera.open(INT ID),在这里你可以给一个ID(P为大多数手机CameraInfo.CAMERA_FACING_BACK或CameraInfo.CAMERA_FACING_FRONT,我还没有和LG的3D相机实验)一个例外或空相机对象,这意味着 - 相机不存在 - 相机是由其他应用程序打开,它没有释放。

在这两种情况下,你不能做很多其他的,而不是显示在UI的一些信息(如面包)

如果你得到一个有效的摄像头,你可以做的操作就可以了,像startpreview,停止预览,拍照。

几乎所有使用照相机的市场应用程序都会在使用照相机的活动进行背景活动时释放照相机。所以其他应用程序可以使用它。这是正确的方式以及

希望这会有所帮助。

问候, Shrish