2个重要的类
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
在manifest.xml中需要添加权限
android.permission.WAKE_LOCK
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");PowerManager的几个方法
1.newWakeLock(int levelAndFlags,Strin tag);
LEVEL:有4个等级
PARTIAL_WAKE_LOCK 屏幕关,键盘灯关,不休眠
SCREEN_MID_WAKE_LOCK 屏幕灰,键盘灯关,不休眠
SCREEN_BRIGHT_WEEK_LOCK 屏幕亮,键盘灯关,不休眠
FULL_WAKE_LOCK 屏幕亮,键盘灯亮,不休眠
FLAGS:有2个
ON_AFTER_RELEASE
,ACQUIRE_CAUSES_WAKEUP
比如:
PowerManager.WakeLock wl = pm.newWakeLock( PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, TAG);
2.boolean isScreenOn();当屏幕是亮的时候返回true;
3.wakeUp(long time);唤醒屏幕。一般是这样设置 wakeUp(SystemClock.uptimeMillis());可立即唤醒屏幕
4.goToSleep (long time); goToSleep(SystemClock.uptimeMillis());可以将屏幕休眠。类似按下power键;
5.reboot(String reason) Reboot the device. Will not return if the reboot is successful. reason可以是"recovery"
PowerManager.WakeLock 的几个方法 1.boolean isHeld() Returns true if the wake lock has been acquired but not yet released. 2.void release() Releases the wake lock. 3.void acquire() Acquires the wake lock 4.void acquire(long time) Acquires the wake lock with a timeout. 主要使用就这2个类了。