确保在设置屏幕亮度之前未启用“自动亮度”。如果您使用的是 Android 2.2 或更高版本的 SDK,您可以在“设置”>“显示”中手动执行此操作或使用代码。
就像是:
int brightnessMode = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);
if (brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
}
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = 0.5F; // set 50% brightness
getWindow().setAttributes(layoutParams);
确保该值介于 0.0F 和 1.0F 之间。-1.0F 的值使用存储在首选项中的默认亮度。根据文档“默认值小于 0,意味着使用首选的屏幕亮度。0 到 1 将亮度从暗调整为全亮。”