【发布时间】:2018-06-15 16:51:06
【问题描述】:
我试图通过在我的主要活动中使用切换按钮在“全亮度”和“手机正常亮度”之间切换。 我使用以下代码成功处理了亮度的切换:
switchButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean bChecked) {
if (bChecked) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = 1.0f;
getWindow().setAttributes(params);
} else {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE;
getWindow().setAttributes(params);
}
}
});
if (switchButton.isChecked()) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = 1.0f;
getWindow().setAttributes(params);
} else {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE;
getWindow().setAttributes(params);
}
问题是,
切换到“全亮度”后,当我更改活动时,亮度恢复正常。 现在,如何从“主要活动”跟踪“亮度设置”并将其应用于应用的其他活动?
注意 我不想更改系统亮度。亮度只会在使用应用时改变。
提前致谢。
【问题讨论】:
-
一个选项:将亮度设置写入SharedPreferences并在Activity的onCreate()中读取
-
您可以创建一个全局变量来存储亮度设置。
-
非常感谢你的想法 :) @0X0nosugar
-
不客气 :) - 我刚刚在我的其他评论中解释说,可以编写/接受您自己的答案。带有解决方案的代码 sn-p 确实属于答案而不是问题,所以我对您的编辑进行了回滚
-
没关系。我很感激。我会标记答案。再次感谢您的想法 :) @0X0nosugar
标签: android brightness screen-brightness