Samsung Galaxy S: Как определить наличие фронтальной камеры? - PullRequest
5 голосов
/ 18 мая 2011

Я знаю, что мы можем получить доступ к фронтальной камере на устройствах до Gingerbread Galaxy S, установив параметр "camera-id" Камера:

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

Проблема в том, что не все устройства Galaxy имеют фронтальную камеру. Эти устройства имеют параметр "camera-id", и он позволяет мне установить его на 2 (спереди). Насколько я обнаружил, единственный способ определить наличие / отсутствие FFC - это посмотреть, если startPreview() выдает исключение, когда "camera-id" равно 2. Это довольно неловкое исправление, особенно когда я пытаюсь поддерживать несколько устройства.

Кто-нибудь нашел способ запросить количество камер на 2.1 или 2.2 Galaxy S или хотя бы определить наличие фронтальной камеры?

Спасибо!

1 Ответ

2 голосов
/ 18 мая 2011

Если вам требуется фронтальная камера, вы можете поместить ее в свой AndroidManifest.xml следующим образом:

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

Если вам это не нужно и вы хотите проверить во время выполнения, вы можете использовать PackageManagerкак это:

PackageManager.hasSystemFeature(PackageManager. FEATURE_CAMERA_FRONT);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...