Как Включить Вспышку На Планшете

Как включить вспышку на планшете

Получить через App Store Прочитать этот пост в нашем приложении!

Как программно включить флэш-память камеры в Android?

Я хочу включить только флэш-память камеры (не с предварительным просмотром камеры) программно в Android. Я googled для этого, но помощь, которую я нашел, связала меня с этой страницей

Как включить вспышку на планшете

У кого-нибудь есть ссылки или пример кода?

11 ответов

Для этого вам нужно:

Проверьте, доступна ли вспышка или нет?

Если да, то выключите / вкл.

Если нет, то вы можете делать все, что в соответствии с вашим приложением. потребности

Для Проверка наличия вспышки в устройстве:

Вы можете использовать следующие

который вернет true, если доступна вспышка, false, если нет.

Для включения / выключения фонарика:

Я googled и получил это о android.permission.FLASHLIGHT. Разрешение Android-манифеста выглядит многообещающим:

Затем используйте Camera и установите Camera.Parameters. Основной параметр, используемый здесь, - FLASH_MODE_TORCH.

Фрагмент кода для включения вспышки камеры.

Фрагмент кода для отключения подсветки камеры.

Я просто нашел проект, который использует это разрешение. Проверьте код src быстрой настройки. здесь http://code.google.com/p/quick-settings/ (Примечание: эта ссылка сейчас не работает)

Update6 Вы также можете попытаться добавить SurfaceView, как описано в этом ответе, светодиодный фонарик Galaxy Nexus, управляемый каким API? Это похоже на решение, которое работает на многих телефонах.

Я нашел альтернативную ссылку (для выше неработающих ссылок): http://www.java2s.com/Open-Source/Android/Tools/quick-settings/com.bwx.bequick.flashlight.htm Теперь вы можете использовать эту ссылку. [Обновить: 14/9/2012 Эта ссылка сейчас не работает]

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

Другой код с открытым исходным кодом:

Обновление 3 (Виджет для включения / выключения камеры)

Если вы хотите разработать виджет, который включает / выключает вашу камеру, то вы должны указать мой ответ Виджет для включения / выключения фонаря камеры в android ..

Если вы хотите установить интенсивность света, выходящего из светодиода камеры, вы можете обратиться. Могу ли я изменить интенсивность светодиодов на устройстве Android? полный пост .. Обратите внимание, что только укоренившиеся устройства HTC поддерживают эту функцию.

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

Как правило, Samsung создает множество проблем.

Вы можете ссылаться на проблемы в приведенном ниже списке:

По моему опыту, если ваше приложение предназначено для работы как в портретной, так и в альбомной ориентации, вам нужно объявить переменную кулачку статичной. В противном случае onDestroy (), который вызывается при переключении ориентации, уничтожает его, но не освобождает камеру, поэтому повторное открытие невозможно.

я должен был показать эту строку

предложенные выше строки не работали для меня.

Я получил подсветку AutoFlash с помощью простых трех шагов.

  • Я только что добавил разрешение камеры и Flash manifest.xml файл

    В коде камеры выполните этот способ.

    Build + Run -> Теперь перейдите в область «Тусклый свет» и «Снимок», вы должны получить автоматическую вспышку, если устройство поддерживает.

    Android Lollipop представил Camera2 API и устарел предыдущий API камеры. Однако использование устаревшего API для включения Flash все еще работает и намного проще, чем использование нового API.

    Кажется, что новый API предназначен для использования в специальных полнофункциональных приложениях для камер и что его архитекторы действительно не рассматривают более простые варианты использования, такие как включение фонарика. Чтобы сделать это сейчас, нужно получить CameraManager, создать CaptureSession с манекеном Surface и, наконец, создать и запустить CaptureRequest. Обработка исключений, очистка ресурсов и длинные обратные вызовы включены!

    Чтобы посмотреть, как включить фонарик на Lollipop и новее, взгляните на FlashlightController в проекте AOSP (попробуйте найти новейшие, как старые API использования, которые были изменены). Не забудьте установить необходимые разрешения.

    Android Marshmallow наконец представила простой способ включения вспышки с setTorchMode.

    В API 23 или выше (Android M, 6.0)

    Люди все еще поддерживают мой ответ, поэтому я решил опубликовать дополнительный код. Это было мое решение проблемы в тот же день:

    Полный код для Android-флеш-накопителя

    Существуют различные способы доступа к Camera Flash в разных версиях Android. Немногие API перестали работать на Lollipop, а затем снова были изменены в Marshmallow. Чтобы преодолеть это, я создал простую библиотеку, которую я использовал в немногих моих проектах, и это дает хорошие результаты. Он по-прежнему неполный, но вы можете попробовать проверить код и найти недостающие фрагменты. Вот ссылка - NoobCameraFlash.

    Если вы просто хотите интегрировать в свой код, для этого вы можете использовать gradle. Вот инструкции (взяты непосредственно из Readme) -

    Шаг 1. Добавьте репозиторий JitPack в файл сборки. Добавьте его в свой root build.gradle в конце репозиториев:

    Шаг 2. Добавьте зависимость

    Применение

    Инициализируйте Singleton NoobCameraManager.

    Вы можете дополнительно установить Log Log для ведения журнала отладки. В журнале используется библиотека LumberJack. По умолчанию LogLevel - LogLevel.None

    После этого вам просто нужно вызвать синглтон, чтобы включить или выключить вспышку камеры.

    Перед инициализацией NoobCameraManager вы должны позаботиться о разрешениях времени выполнения для доступа к Camera самостоятельно. В версии 0.1.2 или ранее мы использовали поддержку разрешений непосредственно из библиотеки, но из-за зависимости от объекта Activity мы должны удалить ее.

    Легко также переключать Flash

    Я реализовал эту функцию в своем приложении через фрагменты, используя SurfaceView. Ссылка на этот вопрос stackoverflow и его ответ можно найти здесь

    Надеюсь это поможет 🙂

    В Marshmallow и выше, «setTorchMode () CameraManager, кажется, является ответом. Это работает для меня:

    Когда я обновил версию SDK, вспышка камеры перестает работать с исключением нулевого указателя. Я обнаружил, что мне пришлось установить targetSDKVersion в 22 в build.gradle. Когда я попытался 23, приложение разбилось.

    Вы также можете использовать следующий код для выключения вспышки.

    Похожие вопросы