Android屏幕OFF / ON

时间:2013-10-09 11:43:55

标签: java android screen

我需要在

时使用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);

1 个答案:

答案 0 :(得分:0)

对于屏幕开关状态,您可以尝试使用ACTION_SCREEN_ONACTION_SCREEN_OFF意图,如果您正在创建可能需要保存状态或响应用户的应用程序,这将非常有用屏幕进入睡眠/醒来等等。

查看Handling Screen ON/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()调用此方法。