2012-06-03 78 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中支持单个相机。

相关问题