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

mrb*_*mrb 5 camera android

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

Camera cam = Camera.open();
Camera.Parameters params = cam.getParameters();
params.set("camera-id", 2);
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢!

Cas*_*eyB 2

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

<uses-feature android:name="android.hardware.camera.front" android:required="true" />
Run Code Online (Sandbox Code Playgroud)

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

PackageManager.hasSystemFeature(PackageManager. FEATURE_CAMERA_FRONT);
Run Code Online (Sandbox Code Playgroud)