Android-разработка: изменение яркости экрана в сервисе
Теперь я попробую еще раз.
Я хочу изменить яркость экрана.
Я пробовал:
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = 0.5F; // set 50% brightness
getWindow().setAttributes(layoutParams);
И, кажется, работает в активности, но когда я нахожусь в службе, я получаю эту getWindow()
ошибку компиляции.
2 ответа:
Сервис не может изменить яркость экрана таким образом. Служба не имеет пользовательского интерфейса, поэтому у нее нет
Window
.Вы можете попробовать изменить яркость в масштабе всей системы с помощью
SCREEN_BRIGHTNESS
настройка системы. Я понятия не имею, работает ли это, так как я еще не пробовал.В противном случае измените свои действия, чтобы изменить их яркость.
Вам нужно будет начать действие с вашего сервиса, все, что вам нужно сделать, это:
Где MyActivity-это деятельность, которую вы хотите начать. Внутри этого действия вы можете поместить код для изменения яркости окна, он будет работать.Intent myIntent = new Intent(getBaseContext(), MyActivity.class); getApplication().startActivity(myIntent);
Я включил полный код здесь: https://stackoverflow.com/a/9848456/1204377
Дайте мне знать, если все еще неясно.