Изменение яркости экрана на устройстве HTC Sense

Старый подход

  Window window = getWindow();
  LayoutParams layoutParams = window.getAttributes();
  layoutParams.screenBrightness = newFloatValue;
  window.setAttributes(layoutParams);

не работает в HTC Desire с включенной автоматической настройкой яркости в меню "Настройки"> "Экран"> "Яркость".
Для этого есть обходной путь для HTC?

1 ответ

Конечно, вы не видите никаких изменений, так как настройки установлены на Автоматическая яркость. Это означает, что любые ручные изменения не учитываются. Или я что-то упустил?

Я только что протестировал его на HTC Desire HD (2.3.5), и яркость экрана меняется примерно на секунду, но затем она автоматически переустанавливается / перезаписывается автоматической яркостью. Однако, если вы снимите флажок "Автояркость" в настройках, вы увидите, что значение изменилось правильно.

Итак, IMO все работает, как ожидалось. Если вы хотите, чтобы ваши изменения вступили в силу, вам, возможно, придется сначала отключить Автояркость:

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); 
Другие вопросы по тегам