2012-06-03 74 views
0

我正在設計一個應用程序(在2.2版本上),使用相機捕捉照片。從Android 2.2的前置攝像頭和後置攝像頭拍照012

我從http://developer.android.com/sdk/android-2.3.html讀到2.3版本及以上版本支持多個攝像頭。但我仍然有點困惑,因爲當相機啓動時,它通常有一個按鈕,用戶可以點擊切換前置攝像頭和後置攝像頭,對吧?

2.2沒有這個開關?

我希望用戶能夠使用前置和後置攝像頭。是否可以在2.2版本上使用,還是應該使用2.3及以上版本?

回答

1

是的,2.2只能管理後置攝像頭。 對於正面相機,您需要升級到2.3+。

private int getBestCameraId() { 

     PackageManager pm = m_mainThreadContext.getPackageManager(); 

     try { 
      if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)) { 
       Log.i(TAG, "Phone has a frontal camera."); 
       return Camera.CameraInfo.CAMERA_FACING_FRONT; 
      } else { 
       Log.i(TAG, "Phone has only rear camera."); 
       return Camera.CameraInfo.CAMERA_FACING_BACK; 
       } 
     } catch (Exception e) { 
       return Camera.CameraInfo.CAMERA_FACING_BACK; 
    } 

} 

有了這個簡單的功能是檢查手機是否有正面或後置攝像頭,並返回最佳。 可以在Camera.open(id)中使用返回的ID來選擇所需的相機。

如果在你的清單,你寫:

<uses-sdk android:minSdkVersion="8" /> 

和你發展與庫2.3(或+)項目,我已經張貼像一個魅力的作品的功能! 我已經在相機項目中使用過,所以請相信我;)

0

請參閱本this & this

原料藥> = 9,您可以使用Camera class,看它是否有一個以上的攝像頭,並查詢CameraInfo

getNumberOfCameras 

getCameraInfo: 

而且在Android 2.2及較低的版本,在其SDK中支持單個相機。

相關問題