码迷,mamicode.com
首页 > 移动开发 > 详细

转:Android 设置屏幕不待机

时间:2015-07-18 22:38:14      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

本文转载于:http://blog.csdn.net/yudajun/article/details/7748760

Android设置支部待机有两种方法

第一种简单通过设置WindowManager属性实现:

在Activity oncreat()方法中设置

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

 

第二种使用android的PowerManager和PowerManager.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;  
        }  
  
    }  

 

acquireWakeLock()方法在Activity的 onResume中被调用。releaseWakeLock()方法在Activity的 onPause中被调用。利用Activiy的生命周期,巧妙的让 acquire()和release()成对出现。

关于int flags

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

PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。

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

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

FULL_WAKE_LOCK:保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度

最后不要忘记!

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

 

<uses-permission android:name="android.permission.WAKE_LOCK" />
你可能还需要
<uses-permission android:name="android.permission.DEVICE_POWER" />

转:Android 设置屏幕不待机

标签:

原文地址:http://www.cnblogs.com/bewolf/p/4657788.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!