Как выбрать правильную камеру для включения фонарика в Android 2.2? - PullRequest
5 голосов
/ 16 августа 2011

Моя проблема в том, что я пытаюсь узнать о камере, и сейчас я сделал приложение, которое может включать фонарик на моем HTC Wildfire, мой Wildfire работает под управлением Android 2.2.

Вот код, который я использую:

//Flash portion
camera = Camera.open();
parameters = camera.getParameters();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);

Теперь я позволил моему другу проверить его, чтобы увидеть, работает ли он на его телефоне, но это не так ... У него Optimus 2X (Android v. 2.2.2) и две камеры. Когда он открывает приложение, ничего не происходит, и мое подозрение говорит мне, что это потому, что он подключается не к той камере. Поэтому я провел исследование и обнаружил, что в версии 2.3 добавлена ​​поддержка нескольких камер!

Но я должен запустить версию 2.2, чтобы она работала на моем телефоне и на его телефоне, а в 2.2 вы НЕ МОЖЕТЕ использовать:

Camera.open( cameraId );

Но он сказал мне, что у него есть приложение для фонарика, без проблем включающее его. Так почему же я не могу подключиться к нему, а его приложение для фонарика может?

1 Ответ

1 голос
/ 21 ноября 2011

Пожалуйста, проверьте эти строки в файле манифеста:

<!-- Allows access to the flashlight -->
<permission android:name="android.permission.FLASHLIGHT"
         android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
         android:protectionLevel="normal"
         android:label="@string/permlab_flashlight"
         android:description="@string/permdesc_flashlight" />

Вот некоторые проекты, связанные с фонариком, вы можете попробовать исходный код:

Код OpenSource: http://code.google.com/p/torch/source/browse/

Пример, показывающий, как включить светодиод на Motorola Droid: http://code.google.com/p/droidled/

Другой открытый исходный код: http://code.google.com/p/covedesigndev/

...