PowerManager 类wakelock的操作实例

来源:互联网 发布:武汉java薪资待遇 编辑:程序博客网 时间:2024/06/03 14:28

使用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(); 


0 0
原创粉丝点击