我用过:
getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
如何恢复默认状态(禁止继续)?
答案 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);
您还可以在xml的根视图中设置android:keepScreenOn="true"
。
答案 3 :(得分:0)
直接来自文档:
注意:您不需要清除FLAG_KEEP_SCREEN_ON标志,除非您不再希望屏幕停留在运行的应用程序中(例如,如果您希望屏幕在一段时间不活动后超时)。窗口管理器负责确保当应用程序进入后台或返回到前台时,正确的事情发生。但是,如果要显式清除该标志并从而允许屏幕再次关闭,请使用clearFlags():getWindow()。clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)。