android - 有效地改变屏幕亮度

标签 android

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

我的问题是,这些解决方案意味着改变 Activity 以使其有效(让虚拟 Activity 立即完成),我想避免 Activity 切换的开销。

是否有任何其他解决方案...也许使用 native 代码以便屏幕亮度会立即改变?

最佳答案

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

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

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

关于android - 有效地改变屏幕亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16120046/

相关文章:

java - Android Flash 与 Java

Android NFC Card Emulation 尝试模拟卡

android - Gradle Build 卡在生成调试源上

java - 如何告诉/欺骗每个站点,我是从 PC 输入的(更改 X-WAP-Profile?)?

android - 如何使用 android-serialport-api 库为 Android 中的串口设置奇偶校验位、停止位和数据位?

android - java.lang.AssertionError : CALL 'public final fun <get-currentComposer>

java - 应用程序在第二个 Activity 的 setContentView() 上崩溃

android - 如何使 SurfaceView 大于屏幕?

Android 数据绑定(bind) src ImageView in xml

android - 包 org.apache.harmony 丢失了吗?