Я разрабатываю приложение, которое будет работать в фоновом режиме каждый раз. теперь мне нужна функция, например, если пользователь получает телефон или сообщение или какое-либо уведомление, тогда вспышка должна мигать, пока телефон не зазвонит или не завибрирует.
я использую приведенный ниже код, чтобы включить вспышку
// Turning On flash
private void turnOnFlash() {
if (!isFlashOn) {
if (camera == null || params == null) {
return;
}
// play sound
// playSound();
params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
camera.startPreview();
isFlashOn = true;
// changing button/switch image
// toggleButtonImage();
}
}
но вспышка не включается
и ниже код, чтобы получить камеру
private void getCamera() {
if (camera == null) {
try {
camera = Camera.open();
params = camera.getParameters();
} catch (RuntimeException e) {
Log.e("Camera Error. Failed to Open. Error: ", e.getMessage());
}
}
}
это код .. logcat печатает исключение и говорит cannot connect to camera service
. поэтому в классе flashturnOn камера получает значение null, возвращается и завершает класс без включения фонарика.
Спасибо за любую помощь