2016-11-27 4 views
0

Android CameraManager имеет функцию setTorchMode(String cameraId, boolean enabled) для включения или выключения фонарика. Однако, чтобы переключить его, мне нужно знать текущее состояние. Есть ли способ получить это? Слушатель не является вариантом, поскольку другие приложения могут включать и выключать его.Android получить режим факела камеры

ответ

1

В официальной документации я не нашел возможность получить текущее состояние факела через Android API.

Вот идея, как можно решить эту проблему:

  1. создать службу, которая начнется при загрузке устройства
  2. Регистрация Camera.TorchCallback в этой службе
  3. Держите Факел состояние в службы и передавать его где угодно, когда вам нужно (например, через Event Bus или BroadcastReceiver). Вы также можете сохранить это состояние в классе, исходя из класса Application из Android SDK.

Это не идеальный ответ на ваш вопрос, но, возможно, вы найдете его полезным.

Смежные вопросы