我需要在
时使用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);
答案 0 :(得分:0)
对于屏幕开关状态,您可以尝试使用ACTION_SCREEN_ON
和ACTION_SCREEN_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()
调用此方法。