2014-11-24 148 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