1.唤醒盒子 使盒子进入假待机
PowerManager powerManager = (PowerManager) getContext().getSystemService(Context.POWER_SERVICE); if (mode.equals("0")) { powerManager.goToSleep(SystemClock.uptimeMillis()); 进入假待机 } else if (mode.equals("1")) { powerManager.wakeUp(SystemClock.uptimeMillis()); 唤醒盒子 }
2.判断盒子是否处于假待机
PowerManager powerManager = (PowerManager) getContext().getSystemService(Context.POWER_SERVICE); powerManager.isInteractive();
3.几种状态
frameworks\base\core\java\android\os\PowerManagerInternal.java
/** * Wakefulness: The device is asleep. It can only be awoken by a call to wakeUp(). * The screen should be off or in the process of being turned off by the display controller. * The device typically passes through the dozing state first. */ public static final int WAKEFULNESS_ASLEEP = 0; 深度睡眠 /** * Wakefulness: The device is fully awake. It can be put to sleep by a call to goToSleep(). * When the user activity timeout expires, the device may start dreaming or go to sleep. */ public static final int WAKEFULNESS_AWAKE = 1; 唤醒状态 /** * Wakefulness: The device is dreaming. It can be awoken by a call to wakeUp(), * which ends the dream. The device goes to sleep when goToSleep() is called, when * the dream ends or when unplugged. * User activity may brighten the screen but does not end the dream. */ public static final int WAKEFULNESS_DREAMING = 2; 屏保 /** * Wakefulness: The device is dozing. It is almost asleep but is allowing a special * low-power "doze" dream to run which keeps the display on but lets the application * processor be suspended. It can be awoken by a call to wakeUp() which ends the dream. * The device fully goes to sleep if the dream cannot be started or ends on its own. */ public static final int WAKEFULNESS_DOZING = 3; 浅睡眠