PowerManager 类wakelock的操作实例

本文介绍了如何在Android应用中使用WakeLock来控制设备的屏幕亮度状态,防止屏幕变暗或关闭,特别是在运行游戏等需要持续亮屏的场景中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用WakeLock可控制电源状态。比如在玩游戏时不允许屏幕变成DIM或者黑屏,那么只需要在启动游戏的activity的onResume函数中获取wakelock,在退出游戏时的activity的onPause函数中释放wakelock就行。操作方式就是:


private void acquireWakeLock() {
         if (wakeLock ==null) {
                Logger.d("Acquiring wake lock");
                PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
                wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, this.getClass().getCanonicalName());
                wakeLock.acquire();
            }        
    }

private void releaseWakeLock() {
        if (wakeLock !=null&& wakeLock.isHeld()) {
            wakeLock.release();
            wakeLock =null;
        }
    }

获取wakelock,就会一直wake,不灭屏.释放weaklock之后,timer才会继续跑.timeout之后就on -->  dim --> off
大致使用类似这样:

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 action  
wl.release(); 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值