关闭保持屏幕开启

我用:

getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

如何恢复到默认状态(无保持) ?

29990 次浏览

我觉得这个应该可以:

getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

详情请参阅 空气污染指数

如果只在需要保持屏幕开启的视图上设置 android 标志: keepScreenOn = “ true”(文件) ,则不需要手动重置标志。

另一种方法

getWindow().setFlags(this.getWindow().getFlags() & ~WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

还有这个

还可以在 xml 中的根视图中设置 android:keepScreenOn="true"

直接来自文件:

注意: 您不需要清除 FLAG _ KEEP _ SCREEN _ ON 标志,除非您不再希望屏幕停留在运行的应用程序中(例如,如果您希望屏幕在一段时间的不活动之后超时)。窗口管理器负责确保当应用程序进入后台或返回到前台时发生正确的事情。但是如果您想要显式地清除标志,从而允许屏幕再次关闭,那么可以使用 clearFlags () : getWindow ()。ClearFlags (Windows 管理器。FLAG _ KEEP _ SCREEN _ ON).