鸿蒙OS ReminderHelper
ReminderHelper
java.lang.Object
|---ohos.event.notification.ReminderHelper
public class ReminderHelper
extends Object
提供管理提醒的静态方法,包括发布或取消提醒、添加或删除通知槽、获取或取消当前应用的所有提醒。
Since:
6
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
static void | addNotificationSlot(NotificationSlot slot) | 创建一个 NotificationSlot。 |
static void | cancelAllReminders() | 取消当前第三方申请的所有提醒 |
static void | cancelReminder(int reminderId) | 取消指定的提醒。 |
static ListReminderRequest | getValidReminders() | 获取当前应用设置的所有有效提醒通知,即以后仍会触发的提醒。 |
static int | publishReminder(ReminderRequest reminderReq) | 发布计划提醒。 |
static void | removeNotificationSlot(String slotId) | 删除提醒使用的 NotificationSlot 实例。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法详情
publishReminder
public static int publishReminder(ReminderRequest reminderReq) throws ReminderManager.AppLimitExceedsException, ReminderManager.SysLimitExceedsException, RemoteException
发布计划提醒。
第三方应用可以调用该方法发布定时提醒。调用此方法后,调用应用程序的定时和弹出通知功能将由系统服务代理在后台执行,即使应用程序被冻结或退出。您可以调用 ReminderRequest#setIntentAgent(String, String) 方法来指定是否在录制弹出通知后启动应用程序。
后台代理维护所有第三方应用程序的有序提醒列表。该列表根据每个提醒的预定触发时间进行更新。系统一次仅启动一个最近的预定提醒。如果添加了触发时间较近的提醒,则新的预定提醒将放在列表顶部。只有在当前提醒完成后才会触发下一个提醒。
一个应用最多可以创建30个有效提醒,系统有效提醒总数不能超过2000个。提醒的最小贪睡间隔为5分钟。
权限:ohos.permission.PUBLISH_AGENT_REMINDER
参数:
参数名称 | 参数描述 |
---|---|
reminderReq | 指示要发布的提醒实例。 此参数不能为空。 否则会因为参数无效而抛出异常,导致应用程序崩溃。 |
返回:
返回唯一的提醒 ID。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 在进程间通信错误时引发此异常。 |
ReminderManager.AppLimitExceedsException | 如果系统中当前应用的有效提醒次数超过30次(不包括已过期不再触发的提醒),则抛出该异常。 |
ReminderManager.SysLimitExceedsException | 系统有效提醒总数超过2000条(不包括已过期不再触发的提醒),则抛出该异常。 |
Since:
6
addNotificationSlot
public static void addNotificationSlot(NotificationSlot slot) throws RemoteException
创建一个 NotificationSlot。 您可以调用 ReminderRequest#setSlotId(String) 方法来绑定用于发布提醒的槽。
当应用程序被卸载时,所有与应用程序相关的通知槽都将被删除。
参数:
参数名称 | 参数描述 |
---|---|
slot | 指示要添加的 NotificationSlot 实例。 |
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 在进程间通信错误时引发此异常。 |
Since:
6
cancelReminder
public static void cancelReminder(int reminderId) throws RemoteException
取消指定的提醒。
参数:
参数名称 | 参数描述 |
---|---|
reminderId | 指示要取消的提醒实例的 ID。 |
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 在进程间通信错误时引发此异常。 |
Since:
6
removeNotificationSlot
public static void removeNotificationSlot(String slotId) throws RemoteException
删除提醒使用的 NotificationSlot 实例。
参数:
参数名称 | 参数描述 |
---|---|
slotId | 指示要删除的 NotificationSlot 实例的 ID。 |
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 在进程间通信错误时引发此异常。 |
Since:
6
getValidReminders
public static ListReminderRequest getValidReminders() throws RemoteException
获取当前应用设置的所有有效提醒通知,即以后仍会触发的提醒。 如果不再触发提醒,则不视为有效提醒。
返回:
返回一个数组列表,其中包含当前应用程序设置的所有有效提醒通知。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 在进程间通信错误时引发此异常。 |
Since:
6
cancelAllReminders
public static void cancelAllReminders() throws RemoteException
取消当前第三方申请的所有提醒
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 在进程间通信错误时引发此异常。 |
Since:
6