// 获取系统设置参数 Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); // 根据你的亮度值设置在这里 Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightnessValue); // 应用设置参数,使之生效 WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); layoutParams.screenBrightness = brightnessValue; getWindow().setAttributes(layoutParams);
// 设置屏幕亮度范围,该范围取值为0~255 seekBar.setMax(255); // 获取当前屏幕亮度值 int currentBrightness = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 0); seekBar.setProgress(currentBrightness); // 当用户拖动SeekBar时,改变亮度值(brightnessValue为SeekBar的进度) seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (fromUser) { brightnessValue = progress; // 更新屏幕亮度 setBrightness(brightnessValue); } }
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
@Override protected void onPause() { super.onPause(); // 记录当前亮度值 SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); editor.putInt("brightness", brightnessValue); editor.apply(); }
@Override protected void onResume() { super.onResume(); // 恢复上次的亮度值 SharedPreferences prefs = getPreferences(MODE_PRIVATE); brightnessValue =