以编程方式更改自适应亮度级别

Pas*_*lis 1 android brightness screen-brightness android-5.0-lollipop

如何在Android Lollipop上以编程方式更改自适应亮度级别?

我知道如何更改手册brightness level,以及打开或关闭adaptive brightness.这是这样做的: Settings.System.putInt(cr, Settings.System.SCREEN_BRIGHTNESS, newLevel);

但是,adaptive brightness启用后,操作系统将其与另一个brightness level与手动操作系统不同的操作系统组合在一起.

有没有办法做到这一点?

目标/分钟/最大SDK为21.

Ole*_*vas 7

不知道为什么,但SCREEN_AUTO_BRIGHTNESS_ADJAndroid API中有一个隐藏的常量来调整自适应亮度.但是你可以"screen_auto_brightness_adj"像我一样传递字符串值.

自适应亮度调整存储为范围[-1; 1]中的浮点值.如果使用范围[0; 255]中的亮度值,则可以将其转换为适当的值,如下所示.

float value = (((float)brightness*2)/255) - 1.0f;
Settings.System.putFloat(contentResolver, "screen_auto_brightness_adj", value);
Run Code Online (Sandbox Code Playgroud)