有效改变屏幕亮度

时间:2013-04-20 11:54:08

标签: android

我需要以编程方式更改屏幕亮度。我读过像Can't apply system screen brightness programmatically in Android这样的多个解决方案。

我的问题是,这些解决方案意味着将活动更改为有效(如虚拟活动立即完成),我希望避免活动开关的开销。

是否有其他解决方案...可能使用本机代码,以便屏幕亮度立即改变?

1 个答案:

答案 0 :(得分:7)

以下会立即影响单个活动,无需重新启动它。活动还会记住暂停/恢复时的screenBrightness属性。

WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 1; // 0f - no backlight ... 1f - full backlight
getWindow().setAttributes(lp);

但如果在系统设置中启用了自动背光级别,则无效。 This solution应该有助于关闭自动背光。

相关问题