首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

PowerManager.WakeLock应用(转)

2012-11-23 
PowerManager.WakeLock使用(转)使用PowerManager.WakeLock来保证程序运行时保持手机屏幕的恒亮。public cla

PowerManager.WakeLock使用(转)

使用PowerManager.WakeLock来保证程序运行时保持手机屏幕的恒亮。

    public class WakeLockDemo extends Activity { 
        private PowerManager.WakeLock wakeLock = null; 
     
        //获取锁 
        public void acquireWakeLock(Context context) { 
            if (wakeLock == null) { 
                PowerManager powerManager = (PowerManager)(context.getSystemService(Context.POWER_SERVICE)); 
                wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag"); 
                wakeLock.acquire(); 
            } 
        } 
     
        //释放锁 
        public void releaseWakeLock() { 
            if(wakeLock != null && wakeLock.isHeld()){ 
                wakeLock.release(); 
                wakeLock = null; 
            } 
        } 
     
        @Override 
        public void onCreate() { 
            super.onCreate(); 
             //初始化 
        } 
     
        @Override 
        public void onResume() { 
             acquireWakeLock(this); 
            super.onResume(); 
        } 
     
        @Override 
        public void onPause() { 
             releaseWakeLock(); 
            super.onPause(); 
        } 
     
    } 





各种锁的类型对CPU 、屏幕、键盘的影响:

PARTIAL_WAKE_LOCK:       保持CPU 运转,屏幕和键盘灯可以关闭。

SCREEN_DIM_WAKE_LOCK:   保持CPU 运转,保持屏幕显示,但可以变暗,允许键盘灯关闭。

SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许键盘灯关闭。

FULL_WAKE_LOCK:         保持CPU 运转,保持屏幕和键盘灯都高亮显示。

ACQUIRE_CAUSES_WAKEUP:  当获取锁后,立刻亮屏,典型地使用在通知中,以让用户立刻查看。

ON_AFTER_RELEASE:       在释放锁(release())后,手机屏幕仍会继续亮一会儿。

热点排行