Java Android屏幕关闭/打开

Java Android屏幕关闭/打开,java,android,screen,Java,Android,Screen,我需要在以下情况下使用SensorEventListener打开/关闭屏幕: @Override public final void onSensorChanged(SensorEvent event) { if (event.values[0] == 0) turnScreenOFF(); else if (event.values[0] == 5) turnScreenON(); } 我

我需要在以下情况下使用SensorEventListener打开/关闭屏幕:

    @Override
    public final void onSensorChanged(SensorEvent event) {
        if (event.values[0] == 0)
            turnScreenOFF();
        else if (event.values[0] == 5)
            turnScreenON();
    }
我已经为它尝试了许多示例代码,但在关闭屏幕后,我无法再次打开屏幕

有关闭屏幕的代码:

        WindowManager.LayoutParams params = getWindow().getAttributes();
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
        params.screenBrightness = 0.0f;
        getWindow().setAttributes(params);

对于屏幕开-关状态,您可以尝试使用
ACTION\u-screen\u-on
ACTION\u-screen\u-off
意图,如果您正在制作一个可能需要保存状态或响应用户屏幕进入睡眠/醒来等的应用程序,这将非常有用

查看

编辑:

请尝试以下方法:

 private void unlockScreen() {
        Window window = this.getWindow();
        window.addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD);
        window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
        window.addFlags(LayoutParams.FLAG_TURN_SCREEN_ON);
    }

并从
onResume()

调用此方法,我不需要处理屏幕何时打开或关闭,但在上面的代码关闭屏幕后,我需要以编程方式打开屏幕。有关更多详细信息,请检查不起作用,您可以尝试编辑源代码:我需要尽快提供一个可用的源代码,有人可以帮助我吗?