我正在设计一个使用相机拍摄照片的应用程序(2.2版)。
我从http://developer.android.com/sdk/android-2.3.html读到版本2.3及以上版本有多个摄像头支持。但我仍然有点困惑,因为当相机启动时,它通常有一个按钮,用户可以点击在前置摄像头和后置摄像头之间切换,对吧?
或
2.2没有这个开关?
我希望用户能够使用前后摄像头。是否可以在2.2版本上使用,还是应该使用2.3及以上版本?
答案 0 :(得分: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;
}
}
通过这个简单的功能,它可以检查手机是否有前置或后置摄像头,并返回最佳状态。 返回的id可以在Camera.open(id)中使用,以选择所需的摄像头。
如果在你的Manifest中你写道:
<uses-sdk android:minSdkVersion="8" />
你用图书馆2.3(或+)开发你的项目,我发布的功能就像一个魅力! 我用过相机项目,所以相信我;)
答案 1 :(得分:0)
对于API&gt; = 9,您可以使用Camera class查看它是否有多个摄像头,并查询CameraInfo
getNumberOfCameras
getCameraInfo:
对于Android 2.2及更低版本,在其SDK中支持单个摄像头。