page.title=Managing Device Awake State page.tags=wakelock, AlarmManager, WakefulBroadcastReceiver trainingnavtop=true startpage=true @jd:body <div id="tb-wrapper"> <div id="tb"> <!-- Required platform, tools, add-ons, devices, knowledge, etc. --> <h2>Dependencies and prerequisites</h2> <ul> <li>Android 1.6 (API Level 4) or higher</li> </ul> <h2>Try it out</h2> <div class="download-box"> <a href="{@docRoot}shareables/training/Scheduler.zip" class="button">Download the sample</a> <p class="filename">Scheduler.zip</p> </div> </div> </div> <p> When an Android device is left idle, it will first dim, then turn off the screen, and ultimately turn off the CPU. This prevents the device's battery from quickly getting drained. Yet there are times when your application might require a different behavior:</p> <ul> <li>Apps such as games or movie apps may need to keep the screen turned on.</p> <li>Other applications may not need the screen to remain on, but they may require the CPU to keep running until a critical operation finishes.</p> </ul> <p> This class describes how to keep a device awake when necessary without draining its battery. </p> <h2>Lessons</h2> <dl> <dt> <strong><a href="wakelock.html">Keeping the Device Awake</a></strong> </dt> <dd> Learn how to keep the screen or CPU awake as needed, while minimizing the impact on battery life. </dd> <dt> <strong><a href="alarms.html">Scheduling Repeating Alarms</a></strong> </dt> <dd> Learn how to use repeating alarms to schedule operations that take place outside of the lifetime of the application, even if the application is not running and/or the device is asleep. </dd> </dl>