当显示设置中的亮度处于自动模式时,我希望获得之前的屏幕亮度。
我尝试使用以下代码:
WindowManager.LayoutParams lp = getWindow().getAttributes();
previousScreenBrightness = lp.screenBrightness;
但previousScreenBrightness
的值始终为-1.0
,即使我将手机放在黑暗或光明的地方。
当亮度设置不在自动模式下时,我可以得到正确的值。
我使用的是Android 4.2。
答案 0 :(得分:5)
你应该使用
int previousScreenBrightness = android.provider.Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS);
获取系统亮度值(与设置>显示>亮度中的亮度值相同)。(范围从0到255)
从WindowManager.LayoutParams中获得的内容( -1.0 )表示 BRIGHTNESS_OVERRIDE_NONE,表示您当前的活动亮度值未被WindowManager.LayoutParams属性覆盖。当值设置为 0到1 时,您当前的活动亮度值将受设置的影响。