如何在activity中控制屏幕点亮与关闭

 判断屏幕是否关闭(http://www.cnblogs.com/likwo/archive/2012/06/26/2563673.html)

public void onCreate(Bundle savedInstanceState) {
	 final IntentFilter filter = new IntentFilter();  
        filter.addAction(Intent.ACTION_SCREEN_OFF);  
        filter.addAction(Intent.ACTION_SCREEN_ON);  
        registerReceiver(mBatInfoReceiver, filter);  
    } 
 
 private final BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() {  
        @Override  
        public void onReceive(final Context context, final Intent intent) {  
            final String action = intent.getAction();  
           if(Intent.ACTION_SCREEN_ON.equals(action)){  
                Log.d(TAG, "-----------------screen is on...");  
           }else if(Intent.ACTION_SCREEN_OFF.equals(action)){  
                Log.d(TAG, "----------------- screen is off...");  
   
           }  
        }  
    };



Android中通过各种Lock锁对电源进行控制,需要注意的是加锁和解锁必须成对出现。

(http://blog.csdn.net/andylao62/article/details/8460873)

//启用屏幕常亮功能
            PowerManager pm =(PowerManager) getSystemService(POWER_SERVICE); 
            wakeLock= pm.newWakeLock(PowerManager.FULL_WAKE_LOCK| PowerManager.ACQUIRE_CAUSES_WAKEUP, myPowerManager.TAG);
            wakeLock.acquire();
//关闭 屏幕常亮功能
if (wakeLock != null) {wakeLock.release();}

(http://zhidao.baidu.com/link?url=IyMzd6EXffC5WshtA34S5AhjNc6cQlGgrA4FeWLNnMguL3OAjDFzej50tBGe-wO3H3DH87w5IOG3quVyp6ewWijdrmTtR6G4kkocenykGfK)

//睡眠
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
pm.goToSleep(SystemClock.uptimeMillis());


需要注意的是,您需要在mainfest权限获取
要进行电源的操作需要在AndroidManifest.xml中声明该应用有设置电源管理的权限。

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

另外,根据flags不同的值,实现不同级别的电源管理。
关于int flags 各种锁的类型对CPU 、屏幕、键盘的影响: 
PARTIAL_WAKE_LOCK :保持CPU 运转,屏幕和键盘灯有可能是关闭的。
SCREEN_DIM_WAKE_LOCK :保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯
SCREEN_BRIGHT_WAKE_LOCK :保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯
FULL_WAKE_LOCK :保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度.

你可能感兴趣的:(如何在activity中控制屏幕点亮与关闭)