ALARM_WEEK_FLAG_SATURDAY = 0x40 /**< Saturday */
} alarm_week_flag_e;
+/**
+ * @brief Enumeration for inexact interval.
+ * @since_tizen 6.0
+ */
+typedef enum {
+ ALARM_STANDARD_INTERVAL_FIFTEEN_MINUTES = 900, /** 900 seconds */
+ ALARM_STANDARD_INTERVAL_HALF_HOUR = ALARM_STANDARD_INTERVAL_FIFTEEN_MINUTES * 2, /** 1800 seconds */
+ ALARM_STANDARD_INTERVAL_HOUR = ALARM_STANDARD_INTERVAL_HALF_HOUR * 2, /** 3600 seconds */
+ ALARM_STANDARD_INTERVAL_DAY = ALARM_STANDARD_INTERVAL_HOUR * 24 /** 86400 seconds */
+} alarm_standard_interval_e;
+
/**
* @brief Called once for each scheduled alarm to get the alarm ID.
* Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif If @a app_control is specified with service-application, the application is only allowed to run on which has Background Category.
* Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif If the appid of @a app_control is not specified, this function is not allowed. In other words, the explicit @a app_control is only allowed.
* Since 4.0, %http://tizen.org/privilege/appmanager.launch privilege is additionally required.
+ * Since 6.0, You can use #alarm_standard_interval_e for @a period. If you use it, the period of alarm is guaranteed.
*
* @param[in] app_control The destination app_control to perform a specific task when the alarm is triggered
* @param[in] delay The amount of time before the first execution (in seconds). Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif, Although this is inexact, the alarm will not fire before this time
- * @param[in] period The amount of time between subsequent alarms (in seconds). Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif, This value does not guarantee the accuracy. The actual interval is calculated by the OS. The minimum value is 600sec
+ * @param[in] period The amount of time between subsequent alarms (in seconds). Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif, This value does not guarantee the accuracy. The actual interval is calculated by the OS.
+ * Since 6.0 this can be one of the values of #alarm_standard_interval_e. If you uses raw integer value, the value will be phase-aligned with other period of alarm.
+
* @param[out] alarm_id The alarm ID that uniquely identifies an alarm
* @return @c 0 on success,
* otherwise a negative error value
* will be treated as minimum values. Note that @a period cannot be less than 600 seconds, if
* a smaller request is supplied it will be silently adjusted to a request of 600.
* When the alarm goes off, Alarm Manager will turn on LCD to prohibit background jobs.
+ * Since 6.0, You can use #alarm_standard_interval_e for @a period. If you use it, the period of alarm is guaranteed.
+ * Since 6.0, Note that @a period cannot be less than 900 seconds.
*
* @param[in] noti The notification to be posted when the alarm is triggered
* @param[in] delay The amount of time before the first execution (in seconds).
* @param[in] period The amount of time between subsequent alarms (in seconds).
+ * Since 6.0 this can be one of the values of #alarm_standard_interval_e. If you uses raw integer value, the value will be phase-aligned with other period of alarm.
* @param[out] alarm_id The ID which uniquely identifies the scheduled alarm
* @return @c 0 on success,
* otherwise a negative error value