Android前置摄像头

时间:2011-05-23 14:38:25

标签: android camera

我需要一个功能来检查前置摄像头是否存在,如果存在,则显示预览。 我找到了一些链接,但每个链接都谈到了一个特定的设备:

任何人都可以为此提供通用代码吗?或者也许是可以与所有设备一起使用的组合代码?

4 个答案:

答案 0 :(得分:20)

对于API> = 9 ,您可以使用Camera类:http://developer.android.com/reference/android/hardware/Camera.html查看是否有多个摄像头,并查询{{1} }

  • CameraInfo

  • getNumberOfCameras

http://developer.android.com/reference/android/hardware/Camera.CameraInfo.html

  

常量

     

int CAMERA_FACING_BACK相机的朝向与屏幕相反。

     

int CAMERA_FACING_FRONT摄像机的朝向与屏幕相同。


对于API> = 5 ,选项是阅读getCameraInfo。前置摄像头的最大分辨率通常比后置摄像头低很多。

http://developer.android.com/reference/android/hardware/Camera.Parameters.html

答案 1 :(得分:11)

这是由kcoppock发布的,但我想有些人会在某个时候遇到此消息。我亲自测试过,在Froyo上工作得很好。

PackageManager pm = getPackageManager();
boolean frontCam, rearCam;

//It would be safer to use the constant PackageManager.FEATURE_CAMERA_FRONT
//but since it is not defined for Android 2.2, I substituted the literal value
frontCam = pm.hasSystemFeature("android.hardware.camera.front");

rearCam = pm.hasSystemFeature(PackageManager.FEATURE_CAMERA);

答案 2 :(得分:2)

2.3中的

是可能的。 http://developer.android.com/sdk/api_diff/9/changes/android.hardware.Camera.html

但在此之前,Android sdk没有任何通用API用于查找和使用第二台前置摄像头。

答案 3 :(得分:0)

我认为您可以循环浏览手机上的可用摄像头并查看facing摄像头信息以找到一个(但只有API级别9可用)

这个答案可以帮到你:How do I open the "front camera" on the Android platform?