Android 中屏幕常亮功能

      项目中有播放视频的需求,但是视频播放时,一定时间之后会出现屏幕变暗(系统设置的锁屏时间),严重影响体验,所以我们需要在有些功能使用时,要求Android保持屏幕常亮。
      第一种方法实现常亮功能
   当你查看Android  PowerManagerAPI时,你就可看到一个简单实现。
 PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
 PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
 wl.acquire();
   ..screen will stay on during this section..
 wl.release();

      这是Android中通过各种Lock锁对电源进行控制,需要注意的是加锁和解锁必须成对出现。同时API中说明,如果不是特殊情况不要经常使用,它会影响电池的寿命。
下面对几个参数进行说明
Flag Value CPU Screen Keyboard
PARTIAL_WAKE_LOCK On* Off Off
SCREEN_DIM_WAKE_LOCK On Dim Off
SCREEN_BRIGHT_WAKE_LOCK On Bright Off
FULL_WAKE_LOCK On Bright
Bright

  参照解释
SCREEN_DIM_WAKE_LOCK :保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯

需要注意的是,您需要在mainfest权限获取

要进行电源的操作需要在AndroidManifest.xml中声明该应用有设置电源管理的权限。

<uses-permission android:name="android.permission.WAKE_LOCK"/>

<uses-permission android:name="android.permission.DEVICE_POWER"/>

  第二种方法是给window设置标识(Flag,如同设置全屏标识一样,这种实现简单,容易控制
onCreate(){
    getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}

onStop(){
    getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
同时这种方法也可以在xml布局文件中实现
<RelativeLayout
.......
android:keepScreenOn="true">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值