belongs to Maven artifact com.android.support:support-compat:28.0.0-alpha1
AlarmManagerCompat
public
final
class
AlarmManagerCompat
extends Object
java.lang.Object | |
↳ | android.support.v4.app.AlarmManagerCompat |
Compatibility library for AlarmManager
with fallbacks for older platforms.
Summary
Public methods | |
---|---|
static
void
|
setAlarmClock(AlarmManager alarmManager, long triggerTime, PendingIntent showIntent, PendingIntent operation)
Schedule an alarm that represents an alarm clock. |
static
void
|
setAndAllowWhileIdle(AlarmManager alarmManager, int type, long triggerAtMillis, PendingIntent operation)
Like |
static
void
|
setExact(AlarmManager alarmManager, int type, long triggerAtMillis, PendingIntent operation)
Schedule an alarm to be delivered precisely at the stated time. |
static
void
|
setExactAndAllowWhileIdle(AlarmManager alarmManager, int type, long triggerAtMillis, PendingIntent operation)
Like |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
Public methods
setAlarmClock
void setAlarmClock (AlarmManager alarmManager, long triggerTime, PendingIntent showIntent, PendingIntent operation)
Schedule an alarm that represents an alarm clock. The system may choose to display information about this alarm to the user.
This method is like setExact(AlarmManager, int, long, PendingIntent)
, but implies
RTC_WAKEUP
.
Parameters | |
---|---|
alarmManager |
AlarmManager : AlarmManager instance used to set the alarm |
triggerTime |
long : time at which the underlying alarm is triggered in wall time
milliseconds since the epoch |
showIntent |
PendingIntent : an intent that can be used to show or edit details of
the alarm clock. |
operation |
PendingIntent : Action to perform when the alarm goes off;
typically comes from IntentSender.getBroadcast() . |
See also:
set(int, long, PendingIntent)
setRepeating(int, long, long, PendingIntent)
setWindow(int, long, long, PendingIntent)
setExact(AlarmManager, int, long, PendingIntent)
cancel(AlarmManager.OnAlarmListener)
getNextAlarmClock()
sendBroadcast(Intent)
registerReceiver(BroadcastReceiver, IntentFilter)
filterEquals(Intent)
setAndAllowWhileIdle
void setAndAllowWhileIdle (AlarmManager alarmManager, int type, long triggerAtMillis, PendingIntent operation)
Like set(int, long, PendingIntent)
, but this alarm will be allowed to
execute even when the system is in low-power idle modes. This type of alarm must only
be used for situations where it is actually required that the alarm go off while in
idle -- a reasonable example would be for a calendar notification that should make a
sound so the user is aware of it. When the alarm is dispatched, the app will also be
added to the system's temporary whitelist for approximately 10 seconds to allow that
application to acquire further wake locks in which to complete its work.
These alarms can significantly impact the power use of the device when idle (and thus cause significant battery blame to the app scheduling them), so they should be used with care. To reduce abuse, there are restrictions on how frequently these alarms will go off for a particular application. Under normal system operation, it will not dispatch these alarms more than about every minute (at which point every such pending alarm is dispatched); when in low-power idle modes this duration may be significantly longer, such as 15 minutes.
Unlike other alarms, the system is free to reschedule this type of alarm to happen out of order with any other alarms, even those from the same app. This will clearly happen when the device is idle (since this alarm can go off while idle, when any other alarms from the app will be held until later), but may also happen even when not idle.
Regardless of the app's target SDK version, this call always allows batching of the alarm.
Parameters | |
---|---|
alarmManager |
AlarmManager : AlarmManager instance used to set the alarm |
type |
int : One of ELAPSED_REALTIME ,
ELAPSED_REALTIME_WAKEUP ,
RTC , or RTC_WAKEUP . |
triggerAtMillis |
long : time in milliseconds that the alarm should go
off, using the appropriate clock (depending on the alarm type). |
operation |
PendingIntent : Action to perform when the alarm goes off;
typically comes from IntentSender.getBroadcast() . |
setExact
void setExact (AlarmManager alarmManager, int type, long triggerAtMillis, PendingIntent operation)
Schedule an alarm to be delivered precisely at the stated time.
This method is like set(int, long, PendingIntent)
, but does not permit
the OS to adjust the delivery time. The alarm will be delivered as nearly as
possible to the requested trigger time.
Note: only alarms for which there is a strong demand for exact-time delivery (such as an alarm clock ringing at the requested time) should be scheduled as exact. Applications are strongly discouraged from using exact alarms unnecessarily as they reduce the OS's ability to minimize battery use.
Parameters | |
---|---|
alarmManager |
AlarmManager : AlarmManager instance used to set the alarm |
type |
int : One of ELAPSED_REALTIME ,
ELAPSED_REALTIME_WAKEUP ,
RTC , or RTC_WAKEUP . |
triggerAtMillis |
long : time in milliseconds that the alarm should go
off, using the appropriate clock (depending on the alarm type). |
operation |
PendingIntent : Action to perform when the alarm goes off;
typically comes from IntentSender.getBroadcast() . |
See also:
setExactAndAllowWhileIdle
void setExactAndAllowWhileIdle (AlarmManager alarmManager, int type, long triggerAtMillis, PendingIntent operation)
Like setExact(AlarmManager, int, long, PendingIntent)
, but this alarm will be allowed to execute
even when the system is in low-power idle modes. If you don't need exact scheduling of
the alarm but still need to execute while idle, consider using
setAndAllowWhileIdle(AlarmManager, int, long, PendingIntent)
. This type of alarm must only
be used for situations where it is actually required that the alarm go off while in
idle -- a reasonable example would be for a calendar notification that should make a
sound so the user is aware of it. When the alarm is dispatched, the app will also be
added to the system's temporary whitelist for approximately 10 seconds to allow that
application to acquire further wake locks in which to complete its work.
These alarms can significantly impact the power use of the device when idle (and thus cause significant battery blame to the app scheduling them), so they should be used with care. To reduce abuse, there are restrictions on how frequently these alarms will go off for a particular application. Under normal system operation, it will not dispatch these alarms more than about every minute (at which point every such pending alarm is dispatched); when in low-power idle modes this duration may be significantly longer, such as 15 minutes.
Unlike other alarms, the system is free to reschedule this type of alarm to happen out of order with any other alarms, even those from the same app. This will clearly happen when the device is idle (since this alarm can go off while idle, when any other alarms from the app will be held until later), but may also happen even when not idle. Note that the OS will allow itself more flexibility for scheduling these alarms than regular exact alarms, since the application has opted into this behavior. When the device is idle it may take even more liberties with scheduling in order to optimize for battery life.
Parameters | |
---|---|
alarmManager |
AlarmManager : AlarmManager instance used to set the alarm |
type |
int : One of ELAPSED_REALTIME ,
ELAPSED_REALTIME_WAKEUP ,
RTC , or RTC_WAKEUP . |
triggerAtMillis |
long : time in milliseconds that the alarm should go
off, using the appropriate clock (depending on the alarm type). |
operation |
PendingIntent : Action to perform when the alarm goes off;
typically comes from IntentSender.getBroadcast() . |
See also:
Annotations
Interfaces
- ActionBarDrawerToggle.Delegate
- ActionBarDrawerToggle.DelegateProvider
- ActivityCompat.OnRequestPermissionsResultCallback
- ActivityCompat.PermissionCompatDelegate
- FragmentManager.BackStackEntry
- FragmentManager.OnBackStackChangedListener
- LoaderManager.LoaderCallbacks
- NotificationCompat.Action.Extender
- NotificationCompat.Extender
- SharedElementCallback.OnSharedElementsReadyListener
- TaskStackBuilder.SupportParentable
Classes
- ActionBarDrawerToggle
- ActivityCompat
- ActivityManagerCompat
- ActivityOptionsCompat
- AlarmManagerCompat
- AppLaunchChecker
- AppOpsManagerCompat
- BundleCompat
- DialogFragment
- Fragment
- Fragment.SavedState
- FragmentActivity
- FragmentContainer
- FragmentController
- FragmentHostCallback
- FragmentManager
- FragmentManager.FragmentLifecycleCallbacks
- FragmentManagerNonConfig
- FragmentPagerAdapter
- FragmentStatePagerAdapter
- FragmentTabHost
- FragmentTransaction
- FrameMetricsAggregator
- JobIntentService
- ListFragment
- LoaderManager
- NavUtils
- NotificationCompat
- NotificationCompat.Action
- NotificationCompat.Action.Builder
- NotificationCompat.Action.WearableExtender
- NotificationCompat.BigPictureStyle
- NotificationCompat.BigTextStyle
- NotificationCompat.Builder
- NotificationCompat.CarExtender
- NotificationCompat.CarExtender.UnreadConversation
- NotificationCompat.CarExtender.UnreadConversation.Builder
- NotificationCompat.DecoratedCustomViewStyle
- NotificationCompat.InboxStyle
- NotificationCompat.MessagingStyle
- NotificationCompat.MessagingStyle.Message
- NotificationCompat.Style
- NotificationCompat.WearableExtender
- NotificationCompatExtras
- NotificationCompatSideChannelService
- NotificationManagerCompat
- RemoteInput
- RemoteInput.Builder
- ServiceCompat
- ShareCompat
- ShareCompat.IntentBuilder
- ShareCompat.IntentReader
- SharedElementCallback
- TaskStackBuilder
Exceptions