显然,Android保存了两个屏幕亮度值:一个用于自动调整,一个用于手动模式(至少在Nougat上)。如何更改一种以进行自动调整?
如果我这样将屏幕亮度更改为0:
Settings.System.putInt(
context.contentResolver,
Settings.System.SCREEN_BRIGHTNESS,
0
)
然后更改手动模式。启用自动调整功能后,此代码不会产生任何可见的变化。
在这里:https://stackoverflow.com/a/18312812有人建议先打开手动模式(SCREEN_BRIGHTNESS_MODE_MANUAL
),但我想保持自动调整。
答案 0 :(得分:0)
如果将亮度模式设置为自动。那么您需要先停止自动亮度调整,然后再设置亮度。这段代码对我有用:
public static void stopAutoBrightness(Activity activity) {
android.provider.Settings.System.putInt(activity.getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE,
android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
}