Android:WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON问题

Joh*_*han 12 flags android

我使用以下代码来保持屏幕:

this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)

有没有办法FLAG_KEEP_SCREEN_ON在代码中禁用/删除后面的代码?(我希望屏幕正常淡出).

谢谢!

Fal*_*rri 28

你可能会做这样的事情

this.getWindow().setFlags(this.getWindow().getFlags() & ~WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
Run Code Online (Sandbox Code Playgroud)

你看过API了吗?还有这种方法

http://developer.android.com/reference/android/view/Window.html#clearFlags%28int%29

this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)

我还没试过这个.

我想这可以检查是否设置了标志:

this.getWindow().getFlags()&WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON

编辑:根据评论,显然这是你获得旗帜价值的方式.

this.getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
Run Code Online (Sandbox Code Playgroud)

可能还有一种方法,您应该查看API文档.

  • 'this.getWindow()clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);' 对我来说也很棒.谢谢! (3认同)