The AlarmManager API allows applications to schedule code to run at some point in the future even if the application is not actively running. Alarms can be set to repeat at intervals like every 15 minutes or every hour. Alarms remain active even when the device is asleep and can optionally wake the device. The AlarmManager is accessed through the Context and allows setting one-shot or repeating alarms to launch activities, broadcasts, or services at the scheduled time.