禁用保持屏幕

时间:2011-01-26 17:18:02

标签: android flags

我用过:

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

如何恢复默认状态(禁止继续)?

4 个答案:

答案 0 :(得分:135)

我认为应该这样做:

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

有关详细信息,请参阅API

答案 1 :(得分:19)

如果您改为设置标志android:keepScreenOn =" true" (documentation)仅针对需要保持屏幕显示的视图,您不需要手动重置标记。

答案 2 :(得分:4)

另一种方法

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

Also read this

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

答案 3 :(得分:0)

直接来自文档:

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