@ohos.reminderAgent (Agent-powered Reminder)

The reminderAgent module provides APIs for publishing scheduled reminders through the reminder agent.

You can use the APIs to create scheduled reminders for countdown timers, calendar events, and alarm clocks. When the created reminders are published, the timing and pop-up notification functions of your application will be taken over by the reminder agent in the background when your application is frozen or exits.

NOTE

This module is supported since API version 7 and deprecated since API version 9. You are advised to use @ohos.reminderAgentManager (Agent-powered Reminder) instead.

The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

import reminderAgent from'@ohos.reminderAgent';

reminderAgent.publishReminder(deprecated)

publishReminder(reminderReq: ReminderRequest, callback: AsyncCallback<number>): void

Publishes a reminder through the reminder agent. This API uses an asynchronous callback to return the result. It can be called only when notification is enabled for the application through Notification.requestEnableNotification.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.publishReminder.

Required permissions: ohos.permission.PUBLISH_AGENT_REMINDER

System capability: SystemCapability.Notification.ReminderAgent

Parameters

Name Type Mandatory Description
reminderReq ReminderRequest Yes Reminder to be published.
callback AsyncCallback<number> Yes Callback used to return the published reminder's ID.

Example

import { BusinessError } from '@ohos.base';

let timer:reminderAgent.ReminderRequestTimer = {
  reminderType: reminderAgent.ReminderType.REMINDER_TYPE_TIMER,
  triggerTimeInSeconds: 10
}

reminderAgent.publishReminder(timer, (err: BusinessError, reminderId: number) => {
  console.info("callback, reminderId = " + reminderId);
});

reminderAgent.publishReminder(deprecated)

publishReminder(reminderReq: ReminderRequest): Promise<number>

Publishes a reminder through the reminder agent. This API uses a promise to return the result. It can be called only when notification is enabled for the application through Notification.requestEnableNotification.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.publishReminder.

Required permissions: ohos.permission.PUBLISH_AGENT_REMINDER

System capability: SystemCapability.Notification.ReminderAgent

Parameters

Name Type Mandatory Description
reminderReq ReminderRequest Yes Reminder to be published.

Return value

Type Description
Promise<number> Promise used to return the published reminder's ID.

Example

let timer:reminderAgent.ReminderRequestTimer = {
  reminderType: reminderAgent.ReminderType.REMINDER_TYPE_TIMER,
  triggerTimeInSeconds: 10
}

reminderAgent.publishReminder(timer).then((reminderId: number) => {
  console.info("promise, reminderId = " + reminderId);
});

reminderAgent.cancelReminder(deprecated)

cancelReminder(reminderId: number, callback: AsyncCallback<void>): void

Cancels the reminder with the specified ID. This API uses an asynchronous callback to return the cancellation result.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.cancelReminder.

System capability: SystemCapability.Notification.ReminderAgent

Parameters

Name Type Mandatory Description
reminderId number Yes ID of the reminder.
callback AsyncCallback<void> Yes Callback used to return the result.

Example

import { BusinessError } from '@ohos.base';

reminderAgent.cancelReminder(1, (err: BusinessError, data: void) => {
  console.info("cancelReminder callback");
});

reminderAgent.cancelReminder(deprecated)

cancelReminder(reminderId: number): Promise<void>

Cancels the reminder with the specified ID. This API uses a promise to return the cancellation result.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.cancelReminder.

System capability: SystemCapability.Notification.ReminderAgent

Parameters

Name Type Mandatory Description
reminderId number Yes ID of the reminder.

Return value

Type Description
Promise<void> Promise used to return the result.

Example

reminderAgent.cancelReminder(1).then(() => {
    console.info("cancelReminder promise");
});

reminderAgent.getValidReminders(deprecated)

getValidReminders(callback: AsyncCallback<Array<ReminderRequest>>): void

Obtains all valid (not yet expired) reminders set by the current application. This API uses an asynchronous callback to return the result.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.getValidReminders.

System capability: SystemCapability.Notification.ReminderAgent

Parameters

Name Type Mandatory Description
callback AsyncCallback<Array<ReminderRequest>> Yes Callback used to return an array of all valid reminders set by the current application.

Example

import { BusinessError } from '@ohos.base';

reminderAgent.getValidReminders((err: BusinessError, reminders: Array<reminderAgent.ReminderRequest>) => {
  console.info("callback, getValidReminders length = " + reminders.length);
  for (let i = 0; i < reminders.length; i++) {
    console.info("getValidReminders = " + reminders[i]);
    console.info("getValidReminders, reminderType = " + reminders[i].reminderType);
    const actionButton = reminders[i].actionButton || [];
    for (let j = 0; j < actionButton.length; j++) {
      console.info("getValidReminders, actionButton.title = " + actionButton[j]?.title);
      console.info("getValidReminders, actionButton.type = " + actionButton[j]?.type);
    }
    console.info("getValidReminders, wantAgent.pkgName = " + reminders[i].wantAgent?.pkgName);
    console.info("getValidReminders, wantAgent.abilityName = " + reminders[i].wantAgent?.abilityName);
    console.info("getValidReminders, ringDuration = " + reminders[i].ringDuration);
    console.info("getValidReminders, snoozeTimes = " + reminders[i].snoozeTimes);
    console.info("getValidReminders, timeInterval = " + reminders[i].timeInterval);
    console.info("getValidReminders, title = " + reminders[i].title);
    console.info("getValidReminders, content = " + reminders[i].content);
    console.info("getValidReminders, expiredContent = " + reminders[i].expiredContent);
    console.info("getValidReminders, snoozeContent = " + reminders[i].snoozeContent);
    console.info("getValidReminders, notificationId = " + reminders[i].notificationId);
    console.info("getValidReminders, slotType = " + reminders[i].slotType);
  }
})

reminderAgent.getValidReminders(deprecated)

getValidReminders(): Promise<Array<ReminderRequest>>

Obtains all valid (not yet expired) reminders set by the current application. This API uses a promise to return the reminders.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.getValidReminders.

System capability: SystemCapability.Notification.ReminderAgent

Return value

Type Description
Promise<Array<ReminderRequest>> Promise used to return an array of all valid reminders set by the current application.

Example

reminderAgent.getValidReminders().then((reminders: Array<reminderAgent.ReminderRequest>) => {
  console.info("promise, getValidReminders length = " + reminders.length);
  for (let i = 0; i < reminders.length; i++) {
    console.info("getValidReminders = " + reminders[i]);
    console.info("getValidReminders, reminderType = " + reminders[i].reminderType);
    const actionButton = reminders[i].actionButton || [];
    for (let j = 0; j < actionButton.length; j++) {
      console.info("getValidReminders, actionButton.title = " + actionButton[j]?.title);
      console.info("getValidReminders, actionButton.type = " + actionButton[j]?.type);
    }
    console.info("getValidReminders, wantAgent.pkgName = " + reminders[i].wantAgent?.pkgName);
    console.info("getValidReminders, wantAgent.abilityName = " + reminders[i].wantAgent?.abilityName);
    console.info("getValidReminders, ringDuration = " + reminders[i].ringDuration);
    console.info("getValidReminders, snoozeTimes = " + reminders[i].snoozeTimes);
    console.info("getValidReminders, timeInterval = " + reminders[i].timeInterval);
    console.info("getValidReminders, title = " + reminders[i].title);
    console.info("getValidReminders, content = " + reminders[i].content);
    console.info("getValidReminders, expiredContent = " + reminders[i].expiredContent);
    console.info("getValidReminders, snoozeContent = " + reminders[i].snoozeContent);
    console.info("getValidReminders, notificationId = " + reminders[i].notificationId);
    console.info("getValidReminders, slotType = " + reminders[i].slotType);
  }
})

reminderAgent.cancelAllReminders(deprecated)

cancelAllReminders(callback: AsyncCallback<void>): void

Cancels all reminders set by the current application. This API uses an asynchronous callback to return the cancellation result.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.cancelAllReminders.

System capability: SystemCapability.Notification.ReminderAgent

Parameters

Name Type Mandatory Description
callback AsyncCallback<void> Yes Callback used to return the result.

Example

import { BusinessError } from '@ohos.base';

reminderAgent.cancelAllReminders((err: BusinessError, data: void) =>{
  console.info("cancelAllReminders callback")
})

reminderAgent.cancelAllReminders(deprecated)

cancelAllReminders(): Promise<void>

Cancels all reminders set by the current application. This API uses a promise to return the cancellation result.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.cancelAllReminders.

System capability: SystemCapability.Notification.ReminderAgent

Return value

Type Description
Promise<void> Promise used to return the result.

Example

reminderAgent.cancelAllReminders().then(() => {
    console.info("cancelAllReminders promise")
})

reminderAgent.addNotificationSlot(deprecated)

addNotificationSlot(slot: NotificationSlot, callback: AsyncCallback<void>): void

Adds a notification slot. This API uses an asynchronous callback to return the result.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.addNotificationSlot.

System capability: SystemCapability.Notification.ReminderAgent

Parameters

Name Type Mandatory Description
slot NotificationSlot Yes Notification slot, whose type can be set.
callback AsyncCallback<void> Yes Callback used to return the result.

Example

import notification from '@ohos.notificationManager'
import { BusinessError } from '@ohos.base';

let mySlot:notification.NotificationSlot = {
  type: notification.SlotType.SOCIAL_COMMUNICATION
}
reminderAgent.addNotificationSlot(mySlot, (err: BusinessError, data: void) => {
  console.info("addNotificationSlot callback");
});

reminderAgent.addNotificationSlot(deprecated)

addNotificationSlot(slot: NotificationSlot): Promise<void>

Adds a notification slot. This API uses a promise to return the result.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.addNotificationSlot.

System capability: SystemCapability.Notification.ReminderAgent

Parameters

Name Type Mandatory Description
slot NotificationSlot Yes Notification slot, whose type can be set.

Return value

Type Description
Promise<void> Promise used to return the result.

Example

import notification from '@ohos.notificationManager'

let mySlot:notification.NotificationSlot = {
  type: notification.SlotType.SOCIAL_COMMUNICATION
}
reminderAgent.addNotificationSlot(mySlot).then(() => {
  console.info("addNotificationSlot promise");
});

reminderAgent.removeNotificationSlot(deprecated)

removeNotificationSlot(slotType: notification.SlotType, callback: AsyncCallback<void>): void

Removes a notification slot of a specified type. This API uses an asynchronous callback to return the result.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.removeNotificationSlot.

System capability: SystemCapability.Notification.ReminderAgent

Parameters

Name Type Mandatory Description
slotType notification.SlotType Yes Type of the reminder notification slot to remove.
callback AsyncCallback<void> Yes Callback used to return the result.

Example

import notification from '@ohos.notification'
import { BusinessError } from '@ohos.base';

reminderAgent.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION, (err: BusinessError, data: void) => {
  console.info("removeNotificationSlot callback");
});

reminderAgent.removeNotificationSlot(deprecated)

removeNotificationSlot(slotType: notification.SlotType): Promise<void>

Removes a notification slot of a specified type. This API uses a promise to return the result.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.removeNotificationSlot.

System capability: SystemCapability.Notification.ReminderAgent

Parameters

Name Type Mandatory Description
slotType notification.SlotType Yes Type of the reminder notification slot to remove.

Return value

Type Description
Promise<void> Promise used to return the result.

Example

import notification from '@ohos.notification'

reminderAgent.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION).then(() => {
    console.info("removeNotificationSlot promise");
});

ActionButtonType(deprecated)

Enumerates the button types.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.ActionButtonType instead.

System capability: SystemCapability.Notification.ReminderAgent

Name Value Description
ACTION_BUTTON_TYPE_CLOSE 0 Button for closing the reminder.
ACTION_BUTTON_TYPE_SNOOZE 1 Button for snoozing the reminder.

ReminderType(deprecated)

Enumerates reminder types.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.ReminderType instead.

System capability: SystemCapability.Notification.ReminderAgent

Name Value Description
REMINDER_TYPE_TIMER 0 Countdown reminder.
REMINDER_TYPE_CALENDAR 1 Calendar reminder.
REMINDER_TYPE_ALARM 2 Alarm reminder.

ActionButton(deprecated)

Defines a button displayed in the reminder notification.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.ActionButton instead.

System capability: SystemCapability.Notification.ReminderAgent

Name Type Read-Only Optional Description
title string No No Text on the button.
type ActionButtonType No No Button type.

WantAgent(deprecated)

Sets the package and ability that are redirected to when the reminder notification is clicked.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.WantAgent instead.

System capability: SystemCapability.Notification.ReminderAgent

Name Type Read-Only Optional Description
pkgName string No No Name of the HAP that is redirected to when the reminder notification is clicked.
abilityName string No No Name of the ability that is redirected to when the reminder notification is clicked.

MaxScreenWantAgent(deprecated)

Provides the information about the target package and ability to start automatically when the reminder is displayed in full-screen mode. This API is reserved.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.MaxScreenWantAgent.

System capability: SystemCapability.Notification.ReminderAgent

Name Type Read-Only Optional Description
pkgName string No No Name of the HAP that is automatically started when the reminder arrives and the device is not in use.
abilityName string No No Name of the ability that is automatically started when the reminder arrives and the device is not in use.

ReminderRequest(deprecated)

Defines the reminder to publish.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.ReminderRequest instead.

System capability: SystemCapability.Notification.ReminderAgent

Name Type Read-Only Optional Description
reminderType ReminderType No No Type of the reminder.
actionButton [ActionButton?, ActionButton?] No Yes Button displayed in the reminder notification. (The parameter is optional. Up to two buttons are supported.)
wantAgent WantAgent No Yes Information about the ability that is redirected to when the notification is clicked.
maxScreenWantAgent MaxScreenWantAgent No Yes Information about the ability that is automatically started when the reminder arrives. If the device is in use, a notification will be displayed.
ringDuration number No Yes Ringing duration, in seconds. The default value is 1.
snoozeTimes number No Yes Number of reminder snooze times. The default value is 0.
timeInterval number No Yes Reminder snooze interval, in seconds. The default value is 0.
title string No Yes Reminder title.
content string No Yes Reminder content.
expiredContent string No Yes Content to be displayed after the reminder expires.
snoozeContent string No Yes Content to be displayed when the reminder is snoozing.
notificationId number No Yes Notification ID used by the reminder. If there are reminders with the same notification ID, the later one will overwrite the earlier one.
slotType notification.SlotType No Yes Type of the slot used by the reminder.

ReminderRequestCalendar(deprecated)

Defines a reminder for a calendar event.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.ReminderRequestCalendar instead.

System capability: SystemCapability.Notification.ReminderAgent

Name Type Read-Only Optional Description
dateTime LocalDateTime No No Reminder time.
repeatMonths Array<number> No Yes Month in which the reminder repeats.
repeatDays Array<number> No Yes Date on which the reminder repeats.

ReminderRequestAlarm(deprecated)

Defines a reminder for an alarm.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.ReminderRequestAlarm instead.

System capability: SystemCapability.Notification.ReminderAgent

Name Type Read-Only Optional Description
hour number No No Hour portion of the reminder time.
minute number No No Minute portion of the reminder time.
daysOfWeek Array<number> No Yes Days of a week when the reminder repeats. The value ranges from 1 to 7, corresponding to the data from Monday to Sunday.

ReminderRequestTimer(deprecated)

Defines a reminder for a scheduled timer.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.ReminderRequestTimer instead.

System capability: SystemCapability.Notification.ReminderAgent

Name Type Read-Only Optional Description
triggerTimeInSeconds number No No Number of seconds in the countdown timer.

LocalDateTime(deprecated)

Sets the time information for a calendar reminder.

NOTE This API is supported since API version 7 and deprecated since API version 9. You are advised to use reminderAgentManager.LocalDateTime instead.

System capability: SystemCapability.Notification.ReminderAgent

Name Type Read-Only Optional Description
year number No No Year.
month number No No Month.
day number No No Date.
hour number No No Hour.
minute number No No Minute.
second number No Yes Second.