The AlarmClock provider contains an Intent action and extras that can be used
to start an Activity to set a new alarm or timer in an alarm clock application.
Applications that wish to receive the ACTION_SET_ALARM and ACTION_SET_TIMER Intents
should create an activity to handle the Intent that requires the permission
com.android.alarm.permission.SET_ALARM. Applications that wish to create a
new alarm or timer should use
Context.startActivity() so that
the user has the option of choosing which alarm clock application to use.
|String||ACTION_DISMISS_ALARM||Activity Action: Dismiss an alarm.|
|String||ACTION_SET_ALARM||Activity Action: Set an alarm.|
|String||ACTION_SET_TIMER||Activity Action: Set a timer.|
|String||ACTION_SHOW_ALARMS||Activity Action: Show the alarms.|
|String||ACTION_SNOOZE_ALARM||Activity Action: Snooze a currently ringing alarm.|
|String||ALARM_SEARCH_MODE_ALL||Selects all alarms.|
|String||ALARM_SEARCH_MODE_LABEL||Search by alarm label.|
|String||ALARM_SEARCH_MODE_NEXT||Selects the alarm that will ring next, or the alarm that is currently ringing, if any.|
Search for the alarm that is most closely matched by the search parameters
|String||EXTRA_ALARM_SEARCH_MODE||Bundle extra: Specify the type of search mode to look up an alarm.|
|String||EXTRA_ALARM_SNOOZE_DURATION||Bundle extra: The snooze duration of the alarm in minutes.|
|String||EXTRA_DAYS||Bundle extra: Weekdays for repeating alarm.|
|String||EXTRA_HOUR||Bundle extra: The hour of the alarm.|
|String||EXTRA_IS_PM||Bundle extra: The AM/PM of the alarm.|
|String||EXTRA_LENGTH||Bundle extra: The length of the timer in seconds.|
|String||EXTRA_MESSAGE||Bundle extra: A custom message for the alarm or timer.|
|String||EXTRA_MINUTES||Bundle extra: The minutes of the alarm.|
|String||EXTRA_RINGTONE||Bundle extra: A ringtone to be played with this alarm.|
|String||EXTRA_SKIP_UI||Bundle extra: Whether or not to display an activity after performing the action.|
|String||EXTRA_VIBRATE||Bundle extra: Whether or not to activate the device vibrator.|
|String||VALUE_RINGTONE_SILENT||Bundle extra value: Indicates no ringtone should be played.|
Activity Action: Dismiss an alarm.
The alarm to dismiss can be specified or searched for in one of the following ways:
EXTRA_ALARM_SEARCH_MODEto determine how to search for the alarm.
If neither of the above are given then:
If the extra
EXTRA_ALARM_SEARCH_MODE is used, and the search results contain two or
more matching alarms, then the implementation should show an UI with the results and allow
the user to select the alarm to dismiss. If the implementation supports
CATEGORY_VOICE and the activity is started in Voice
Interaction mode (i.e. check
isVoiceInteraction()), then the
implementation should additionally use
to start a voice interaction follow-on flow to help the user disambiguate the alarm by voice.
If the specified alarm is a single occurrence alarm, then dismissing it effectively disables the alarm; it will never ring again unless explicitly re-enabled.
If the specified alarm is a repeating alarm, then dismissing it only prevents the upcoming instance from ringing. The alarm remains enabled so that it will still ring on the date and time of the next instance (i.e. the instance after the upcoming one).
Activity Action: Set an alarm.
Activates an existing alarm or creates a new one.
This action requests an alarm to be set for a given time of day. If no time of day is
specified, an implementation should start an activity that is capable of setting an alarm
EXTRA_SKIP_UI is ignored in this case). If a time of day is specified, and
true, and the alarm is not repeating, the implementation
should remove this alarm after it has been dismissed. If an identical alarm exists matching
all parameters, the implementation may re-use it instead of creating a new one (in this case,
the alarm should not be removed after dismissal).
This action always enables the alarm.
This activity could also be started in Voice Interaction mode. The activity should check
isVoiceInteraction(), and if true, the implementation should
report a deeplink of the created/enabled alarm using
VoiceInteractor.CompleteVoiceRequest. This allows follow-on voice actions
ACTION_DISMISS_ALARM to dismiss the alarm that was just enabled.
EXTRA_HOUR(optional): The hour of the alarm being set.
EXTRA_MINUTES(optional): The minutes of the alarm being set.
EXTRA_DAYS(optional): Weekdays for repeating alarm.
EXTRA_MESSAGE(optional): A custom message for the alarm.
EXTRA_RINGTONE(optional): A ringtone to play with this alarm.
EXTRA_VIBRATE(optional): Whether or not to activate the device vibrator for this alarm.
EXTRA_SKIP_UI(optional): Whether or not to display an activity for setting this alarm.
Activity Action: Set a timer.
Activates an existing timer or creates a new one.
This action requests a timer to be started for a specific
time. If no
length is specified, the implementation should start an
activity that is capable of setting a timer (
EXTRA_SKIP_UI is ignored in this case).
length is specified, and
the implementation should remove this timer after it has been dismissed. If an identical,
unused timer exists matching both parameters, an implementation may re-use it instead of
creating a new one (in this case, the timer should not be removed after dismissal).
This action always starts the timer.
Activity Action: Show the alarms.
This action opens the alarms page.
Activity Action: Snooze a currently ringing alarm.
Snoozes the currently ringing alarm. The extra
EXTRA_ALARM_SNOOZE_DURATION can be
optionally set to specify the snooze duration; if unset, the implementation should use a
reasonable default, for example 10 minutes. The alarm should ring again after the snooze
Note: setting the extra
EXTRA_ALARM_SNOOZE_DURATION does not change the default
snooze duration; it's only applied to the currently ringing alarm.
If there is no currently ringing alarm, then this is a no-op.
Selects all alarms.
Search by alarm label. Should return alarms that contain the word or phrase in given label.
Selects the alarm that will ring next, or the alarm that is currently ringing, if any.
Bundle extra: Specify the type of search mode to look up an alarm.
For example, used by
ACTION_DISMISS_ALARM to identify the alarm to dismiss.
This extra is only used when the alarm is not already identified by a deeplink as specified in the Intent's data URI.
The value of this extra is a
String, restricted to the following set of supported
ALARM_SEARCH_MODE_TIME: Selects the alarm that is most closely matched by the search parameters
ALARM_SEARCH_MODE_NEXT: Selects the alarm that will ring next, or the alarm that is currently ringing, if any.
ALARM_SEARCH_MODE_ALL: Selects all alarms.
ALARM_SEARCH_MODE_LABEL: Search by alarm label. Should return alarms that contain the word or phrase in given label.
Bundle extra: The hour of the alarm.
This extra is optional. If not provided, an implementation should open an activity that allows a user to set an alarm with user provided time.
The value is an
Integer and ranges from 0 to 23.
Bundle extra: The AM/PM of the alarm.
This extra is optional and only used when
EXTRA_ALARM_SEARCH_MODE is set to
ALARM_SEARCH_MODE_TIME. In this search mode, the
used together with
EXTRA_MINUTES. The implementation should
look up the alarm that is most closely matched by these search parameters.
EXTRA_IS_PM is missing, then the AM/PM of the specified
ambiguous and the implementation should ask for clarification from the user.
The value is a
Boolean, where false=AM and true=PM.
Bundle extra: The length of the timer in seconds.
This extra is optional. If not provided, an implementation should open an activity that allows a user to set a timer with user provided length.
The value is an
Integer and ranges from 1 to 86400 (24 hours).
Bundle extra: A ringtone to be played with this alarm.
This value is a
String and can either be set to
to a content URI of the media to be played. If not specified or the URI doesn't exist,
"content://settings/system/alarm_alert will be used.
Bundle extra: Whether or not to display an activity after performing the action.
If true, the application is asked to bypass any intermediate UI. If false, the application may display intermediate UI like a confirmation dialog or settings.
The value is a
Boolean. The default is