我在那里,我的应用程序上有一个搜索栏来改变亮度和它的工作。 然后问题是,当我按下后退按钮导航到另一个 Activity 时,亮度恢复为默认值..
这是我改变亮度的代码:
private void applyBrightnessListener() {
SeekBar brightnessControl = (SeekBar) findViewById(R.id.brightnessControl);
brightnessControl.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
// TODO Auto-generated method stub
float BackLightValue = (float)arg1/100;
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = BackLightValue;
getWindow().setAttributes(layoutParams);
android.provider.Settings.System.putInt(
GeneralSettings.this.getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS,
(int)BackLightValue);
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
});
}
提前致谢;)
最佳答案
遗憾的是,您需要跟踪该亮度,并为每个 Activity 设置它。您不能设置一次就保留它。
因此您需要将值存储在您的偏好中或以其他方式存储,然后当您开始每个 Activity 时,加载偏好并将其设置在您的 Activity 中。
一个好的方法是继承 Activity,并将这段代码放在 onCreate 方法中。
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = savedBackLightValue;
getWindow().setAttributes(layoutParams);
关于android - 按下后退按钮时亮度不会保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16509074/