Использовать фонарик камеры в Android

Я пытаюсь использовать светодиод камеры фонарик в виджете. Я нашел несколько тем по этой теме (то есть тот , упомянутый позже ..), теперь я пытаюсь управлять светом, используя:

Camera cam = Camera.open();     
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.release();

В AndroidManifest.xml пробовал разные разрешения, в настоящее время я have:






Я тестирую это на своем Galaxy Tab, так как у меня нет других устройств Android под рукой: свет не включается. Итак, у меня есть несколько вопросов:

  1. Есть ли способ проверить поведение светодиодной подсветки в эмуляторе?
  2. Я что-то здесь делаю не так?
  3. Согласно этот вопрос, касающийся с той же проблемой, на Galaxy Tab он работает иначе. Как?
  4. И, наконец, если это работает по-другому, я начинаю задаваться вопросом, это просто Galaxy Tab или другие устройства тоже используют другие методы. Тогда было бы сложно протестировать, и это кажется мне довольно странным.

Спасибо за понимание!

Кстати, я быстро протестировал быстрые настройки , о которых здесь несколько раз упоминалось . Фонарик также не работает с быстрыми настройками.

Обратите внимание, что Galaxy Tab по-прежнему использует android 2.2. Я вижу, что между 2.2 и 2.3 произошли некоторые изменения.

Комментарий:

Спасибо за любую информацию!

Между прочим, я быстро протестировал быстрые настройки , о которых здесь несколько раз упоминалось. Фонарик также не работает с быстрыми настройками.

Обратите внимание, что Galaxy Tab по-прежнему использует android 2.2. Я вижу, что между 2.2 и 2.3 произошли некоторые изменения.

Комментарий:

Спасибо за любую информацию!

Между прочим, я быстро протестировал быстрые настройки , о которых здесь несколько раз упоминалось. Фонарик также не работает с быстрыми настройками.

Обратите внимание, что Galaxy Tab по-прежнему использует android 2.2. Я вижу, что между 2.2 и 2.3 были некоторые изменения.

Комментарий: Я знаю, что это должно как-то работать, так как я нашел на рынке другие приложения, которые отлично работают с Galaxy Tab.

Комментарий 2: Если я установил cam.setParameters (p); и напрямую запрашивать текущее состояние камеры с помощью getFlashMode (), она правильно возвращает FLASH_MODE_TORCH. Однако если я отпущу камеру и снова открою ее, она вернет FLASH_MODE_OFF. Это похоже на то, как если бы объект Camera знает запрос, но на самом деле не передает его аппаратному обеспечению!?

-

После комментария Константина я удалил cam.release (); часть. Он прав, настройки не сохраняются, если отпустить камеру. Если вы снова воспользуетесь cam.open (), вы получите новый экземпляр с выключенным светом. Однако на вкладке галактики свет по-прежнему не работает. Итак, я думаю, что трудно держать свет включенным, если вы пытаетесь управлять им через виджет. Как только фоновая служба завершается, объект камеры автоматически освобождается, и поэтому свет снова выключается. У меня все еще остаются вопросы, особенно почему камера вообще не включается.

53
задан Community 23 May 2017 в 02:26
поделиться