您的位置:首页 > 移动开发 > Android开发

Android之FLAG_KEEP_SCREEN_ON

2014-04-24 13:23 465 查看

我至少曾经在四个不同的地方看到过FLAG_KEEP_SCREEN_ON是让屏幕保持不暗不关闭的最好方法,那么这个方法具体应该怎么使用呢?

我在stackoverflow上找到如下代码:

@Override protected void onCreate(Bundle icicle) { super.onCreate(icicle);getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); }

简单来说就是把getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);加进onCreate里面,用WindowManager来管理窗口。

既然是加在Activity的onCreate里,不用试验也知道肯定是针对当前一个Activity的。如果想让所有的Activity都保持唤醒状态怎么办呢?

其实如果用到我之前提到过的BaseActivity这一招得话就可以轻松解决了:

在BaseActivity以及,如果有的话BaseTabActivity,BaseMapActivity等的onCreate中都加入:

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

就可以保证继承他们的Activity都继承保持屏幕唤醒了。


自己试验了一下,效果还是非常好的。

参考资料:

http://stackoverflow.com/questions/4376902/difference-between-wakelock-and-flag-keep-screen-on

http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_KEEP_SCREEN_ON

http://developer.android.com/reference/android/os/PowerManager.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: