我已将LayoutParams.screenBrightness设置为0,它会在以下代码中关闭屏幕:
public void screenOff() {
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
}
运行上述代码后,所有硬件按钮都无法响应(我在Galaxy S3上进行测试)。如果我按两次电源按钮,屏幕会重新亮起。事实上,按下电源按钮一次后,主页按钮或电源按钮工作(因此,按两次电源按钮将打开屏幕)。
我认为可能是因为我使用了FLAG_KEEP_SCREEN_ON,但无论是否删除该行,都会发生同样的事情。
关于为什么会发生这种情况以及如何解决这个问题的想法?