旧方法
Window window = getWindow();
LayoutParams layoutParams = window.getAttributes();
layoutParams.screenBrightness = newFloatValue;
window.setAttributes(layoutParams);
在设置 > 显示 > 亮度中选中自动亮度的 HTC Desire 上不起作用。
是否有针对 HTC 的解决方法?
当然,您看不到任何更改,因为设置设置为Automatic Brightness。这意味着,任何手动更改都将被忽略。还是我错过了什么?
我刚刚在HTC Desire HD (2.3.5)上对其进行了测试,屏幕亮度确实改变了大约一秒钟,但随后它立即被自动亮度重新调整/覆盖。但是,如果您在设置中取消选中自动亮度选项,您可以看到该值已正确更改。
所以,imo一切都按预期工作。如果您希望您的更改生效,您可能必须先禁用自动亮度:
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);