三星Galaxy S:如何确定前置摄像头的存在?

时间:2011-05-18 16:56:05

标签: android camera

我知道我们可以通过设置"camera-id"相机参数来访问预姜饼Galaxy S设备上的前置摄像头:

Camera cam = Camera.open();
Camera.Parameters params = cam.getParameters();
params.set("camera-id", 2);

问题是,并非所有Galaxy设备都有前置摄像头。这些设备有"camera-id"参数,它允许我将其设置为2(前面)。据我所知,确定FFC存在/不存在的唯一方法是在startPreview()为2时查看"camera-id"是否抛出异常。这是一种尴尬的修复,尤其是当我试图支持多种设备。

有没有人找到一种方法来查询2.1或2.2 Galaxy S上的摄像头数量,或者至少确定前置摄像头的存在?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您需要前置摄像头,可以将其放在AndroidManifest.xml中,如下所示:

<uses-feature android:name="android.hardware.camera.front" android:required="true" />

如果您不需要它并且想要在运行时检查,您可以像这样使用PackageManager:

PackageManager.hasSystemFeature(PackageManager. FEATURE_CAMERA_FRONT);