【发布时间】:2013-04-13 18:10:42
【问题描述】:
我需要以编程方式更改屏幕亮度。我阅读了多个类似Can't apply system screen brightness programmatically in Android 的解决方案。
我的问题是,这些解决方案意味着将活动更改为有效(让虚拟活动立即完成),我想避免活动切换的开销。
有没有其他解决方案...也许使用本机代码使屏幕亮度立即改变?
【问题讨论】:
标签: android
我需要以编程方式更改屏幕亮度。我阅读了多个类似Can't apply system screen brightness programmatically in Android 的解决方案。
我的问题是,这些解决方案意味着将活动更改为有效(让虚拟活动立即完成),我想避免活动切换的开销。
有没有其他解决方案...也许使用本机代码使屏幕亮度立即改变?
【问题讨论】:
标签: android
以下立即影响单个活动,无需重新启动它。 Activity 还会在暂停/恢复时记住 screenBrightness 属性。
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 1; // 0f - no backlight ... 1f - full backlight
getWindow().setAttributes(lp);
但如果您在系统设置中启用了自动背光级别,则它没有效果。 This solution 应该有助于关闭自动背光。
【讨论】: