Если вы хотите изменить яркость вашего текущего приложения, используйте код, который выложил hackbod
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = <some value between 0 and 1>;
getWindow().setAttributes(lp);
Но я не могу полностью согласиться с постом hackbod.Определенно возможно изменить глобальную яркость без использования хаков.Я только что написал короткое демонстрационное приложение.
Хитрость в том, что сначала нужно изменить яркость приложения, а затем изменить глобальную яркость.В противном случае только «ползунок яркости» в меню настроек меняет свое положение, но это не влияет на яркость.Только если пользователь нажмет на слайдер, будет применена яркость.
WindowManager.LayoutParams localLayoutParams = getWindow()
.getAttributes();
localLayoutParams.screenBrightness = 0.12F;
getWindow().setAttributes(localLayoutParams);
Settings.System.putInt(this.resolver, "screen_brightness", 30);
диапазон яркости приложения от 0 до 1, общий диапазон яркости от 0 до 255 (0 = дисплей выключен)
Также очень важно подождать некоторое время, чтобы применить настройки, если выхочу выйти потом.
Thread t = new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
System.out.println(e);
}
System.out.println("finally exit");
finish();
}
});
t.start();