6

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

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

有没有其他解决方案......也许使用本机代码以便屏幕亮度会立即改变?

4

1 回答 1

7

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

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

但是,如果您在系统设置中启用了自动背光级别,则它没有效果。此解决方案应有助于关闭自动背光。

于 2013-04-20T12:51:03.063 回答