Android:FLAG_KEEP_SCREEN_ON

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都继承保持屏幕唤醒了。
 在很多情况下要保持手机屏幕长亮,比如播放视频时。
KEEP_SCREEN_ON_FLAG锁由WindowsMaganerService统一管理
mHoldingScreenWakeLock = pmc.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,""KEEP_SCREEN_ON_FLAG"");
一般情况,上层用,只需将当前窗口增加WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON标志
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

但在android视频播放器MediaPlayer里有统一接口设置flags.
Landroid/media/MediaPlayer;->setScreenOnWhilePlaying(Z)V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值