鸿蒙API14开发【@ohos.reminderAgentManager (后台代理提醒)】后台任务开发_鸿蒙应用开发中提醒任务的全部删除
本模块提供后台代理提醒的能力,即当应用被冻结或应用退出时,计时和提醒的功能将被系统服务代理。开发者可以调用本模块接口创建定时提醒,提醒类型支持倒计时、日历、闹钟三种。
说明:
本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import { reminderAgentManager } from \'@kit.BackgroundTasksKit\';ts
reminderAgentManager.publishReminder
publishReminder(reminderReq: ReminderRequest, callback: AsyncCallback): void
发布后台代理提醒。使用callback异步回调。
说明:
该接口需要申请通知弹窗权限[NotificationManager.requestEnableNotification]后调用。
需要权限: ohos.permission.PUBLISH_AGENT_REMINDER
系统能力: SystemCapability.Notification.ReminderAgent
参数:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';let timer: reminderAgentManager.ReminderRequestTimer = { reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_TIMER, triggerTimeInSeconds: 10}reminderAgentManager.publishReminder(timer, (err: BusinessError, reminderId: number) => { if (err.code) { console.error(\"callback err code:\" + err.code + \" message:\" + err.message); } else { console.log(\"callback, reminderId = \" + reminderId); }});ts
reminderAgentManager.publishReminder
publishReminder(reminderReq: ReminderRequest): Promise
发布后台代理提醒。使用promise异步回调。
说明:
该接口需要申请通知弹窗权限[NotificationManager.requestEnableNotification]后调用。
需要权限: ohos.permission.PUBLISH_AGENT_REMINDER
系统能力: SystemCapability.Notification.ReminderAgent
参数:
返回值:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';let timer: reminderAgentManager.ReminderRequestTimer = { reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_TIMER, triggerTimeInSeconds: 10}reminderAgentManager.publishReminder(timer).then((reminderId: number) => { console.log(\"promise, reminderId = \" + reminderId);}).catch((err: BusinessError) => { console.error(\"promise err code:\" + err.code + \" message:\" + err.message);});ts
reminderAgentManager.cancelReminder
cancelReminder(reminderId: number, callback: AsyncCallback): void
取消指定id的代理提醒。使用callback异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
参数:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';let reminderId: number = 1;reminderAgentManager.cancelReminder(reminderId, (err: BusinessError) => { if (err.code) { console.error(\"callback err code:\" + err.code + \" message:\" + err.message); } else { console.log(\"cancelReminder callback\"); }});ts
reminderAgentManager.cancelReminder
cancelReminder(reminderId: number): Promise
取消指定id的代理提醒。使用Promise异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
参数:
返回值:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';let reminderId: number = 1;reminderAgentManager.cancelReminder(reminderId).then(() => { console.log(\"cancelReminder promise\");}).catch((err: BusinessError) => { console.error(\"promise err code:\" + err.code + \" message:\" + err.message);});ts
reminderAgentManager.getValidReminders
getValidReminders(callback: AsyncCallback): void
获取当前应用设置的所有[有效(未过期)的代理提醒]。使用callback异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
参数:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';reminderAgentManager.getValidReminders((err: BusinessError, reminders: Array) => { if (err.code) { console.error(\"callback err code:\" + err.code + \" message:\" + err.message); } else { console.log(\"callback, getValidReminders length = \" + reminders.length); for (let i = 0; i < reminders.length; i++) { console.log(\"getValidReminders = \" + reminders[i]); console.log(\"getValidReminders, reminderType = \" + reminders[i].reminderType); const actionButton = reminders[i].actionButton || []; for (let j = 0; j < actionButton.length; j++) { console.log(\"getValidReminders, actionButton.title = \" + actionButton[j]?.title); console.log(\"getValidReminders, actionButton.type = \" + actionButton[j]?.type); } console.log(\"getValidReminders, wantAgent.pkgName = \" + reminders[i].wantAgent?.pkgName); console.log(\"getValidReminders, wantAgent.abilityName = \" + reminders[i].wantAgent?.abilityName); console.log(\"getValidReminders, ringDuration = \" + reminders[i].ringDuration); console.log(\"getValidReminders, snoozeTimes = \" + reminders[i].snoozeTimes); console.log(\"getValidReminders, timeInterval = \" + reminders[i].timeInterval); console.log(\"getValidReminders, title = \" + reminders[i].title); console.log(\"getValidReminders, content = \" + reminders[i].content); console.log(\"getValidReminders, expiredContent = \" + reminders[i].expiredContent); console.log(\"getValidReminders, snoozeContent = \" + reminders[i].snoozeContent); console.log(\"getValidReminders, notificationId = \" + reminders[i].notificationId); console.log(\"getValidReminders, slotType = \" + reminders[i].slotType); } }});ts
reminderAgentManager.getValidReminders
getValidReminders(): Promise
获取当前应用设置的所有[有效(未过期)的代理提醒]。使用promise异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
返回值:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';reminderAgentManager.getValidReminders().then((reminders: Array) => { console.log(\"promise, getValidReminders length = \" + reminders.length); for (let i = 0; i < reminders.length; i++) { console.log(\"getValidReminders = \" + reminders[i]); console.log(\"getValidReminders, reminderType = \" + reminders[i].reminderType); const actionButton = reminders[i].actionButton || []; for (let j = 0; j { console.error(\"promise err code:\" + err.code + \" message:\" + err.message);}); ts
reminderAgentManager.cancelAllReminders
cancelAllReminders(callback: AsyncCallback): void
取消当前应用设置的所有代理提醒。使用callback异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
参数:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';reminderAgentManager.cancelAllReminders((err: BusinessError) =>{ if (err.code) { console.error(\"callback err code:\" + err.code + \" message:\" + err.message); } else { console.log(\"cancelAllReminders callback\") }});ts
reminderAgentManager.cancelAllReminders
cancelAllReminders(): Promise
取消当前应用设置的所有代理提醒。使用Promise异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
返回值:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';reminderAgentManager.cancelAllReminders().then(() => { console.log(\"cancelAllReminders promise\")}).catch((err: BusinessError) => { console.error(\"promise err code:\" + err.code + \" message:\" + err.message);});ts
reminderAgentManager.addNotificationSlot
addNotificationSlot(slot: NotificationSlot, callback: AsyncCallback): void
添加通知槽。使用callback异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
参数:
示例:
import { notificationManager } from \'@kit.NotificationKit\';import { BusinessError } from \'@kit.BasicServicesKit\';let mySlot: notificationManager.NotificationSlot = { notificationType: notificationManager.SlotType.SOCIAL_COMMUNICATION}reminderAgentManager.addNotificationSlot(mySlot, (err: BusinessError) => { if (err.code) { console.error(\"callback err code:\" + err.code + \" message:\" + err.message); } else { console.log(\"addNotificationSlot callback\"); }});ts
reminderAgentManager.addNotificationSlot
addNotificationSlot(slot: NotificationSlot): Promise
添加通知槽。使用promise异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
参数:
返回值:
示例:
import { notificationManager } from \'@kit.NotificationKit\';import { BusinessError } from \'@kit.BasicServicesKit\';let mySlot: notificationManager.NotificationSlot = { notificationType: notificationManager.SlotType.SOCIAL_COMMUNICATION}reminderAgentManager.addNotificationSlot(mySlot).then(() => { console.log(\"addNotificationSlot promise\");}).catch((err: BusinessError) => { console.error(\"promise err code:\" + err.code + \" message:\" + err.message);});ts
reminderAgentManager.removeNotificationSlot
removeNotificationSlot(slotType: notification.SlotType, callback: AsyncCallback): void
删除目标通知槽,使用callback异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
参数:
示例:
import { notificationManager } from \'@kit.NotificationKit\';import { BusinessError } from \'@kit.BasicServicesKit\';reminderAgentManager.removeNotificationSlot(notificationManager.SlotType.CONTENT_INFORMATION, (err: BusinessError) => { if (err.code) { console.error(\"callback err code:\" + err.code + \" message:\" + err.message); } else { console.log(\"removeNotificationSlot callback\"); }});ts
reminderAgentManager.removeNotificationSlot
removeNotificationSlot(slotType: notification.SlotType): Promise
删除目标通知槽,使用Promise异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
参数:
返回值:
示例:
import { notificationManager } from \'@kit.NotificationKit\';import { BusinessError } from \'@kit.BasicServicesKit\';reminderAgentManager.removeNotificationSlot(notificationManager.SlotType.CONTENT_INFORMATION).then(() => { console.log(\"removeNotificationSlot promise\");}).catch((err: BusinessError) => { console.error(\"promise err code:\" + err.code + \" message:\" + err.message);});ts
reminderAgentManager.getAllValidReminders12+
getAllValidReminders(): Promise
获取当前应用设置的所有[有效(未过期)的代理提醒]。使用promise异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
返回值:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';reminderAgentManager.getAllValidReminders().then((reminders: Array) => { console.log(\"promise, getAllValidReminders length = \" + reminders.length); for (let i = 0; i < reminders.length; i++) { console.log(\"getAllValidReminders, reminderId = \" + reminders[i].reminderId); console.log(\"getAllValidReminders, reminderType = \" + reminders[i].reminderReq.reminderType); const actionButton = reminders[i].reminderReq.actionButton || []; for (let j = 0; j { console.error(\"promise err code:\" + err.code + \" message:\" + err.message);}); ts
reminderAgentManager.addExcludeDate12+
addExcludeDate(reminderId: number, date: Date): Promise
为指定id的周期性的日历提醒,添加不提醒日期(如每天提醒的日历,设置周二不提醒)。使用Promise异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
参数:
返回值:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';let reminderId: number = 1;let date = new Date();reminderAgentManager.addExcludeDate(reminderId, date).then(() => { console.log(\"addExcludeDate promise\");}).catch((err: BusinessError) => { console.error(\"promise err code:\" + err.code + \" message:\" + err.message);});ts
reminderAgentManager.deleteExcludeDates12+
deleteExcludeDates(reminderId: number): Promise
为指定id的周期性的日历提醒,删除设置的所有不提醒日期。使用Promise异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
参数:
返回值:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';let reminderId: number = 1;reminderAgentManager.deleteExcludeDates(reminderId).then(() => { console.log(\"deleteExcludeDates promise\");}).catch((err: BusinessError) => { console.error(\"promise err code:\" + err.code + \" message:\" + err.message);});ts
reminderAgentManager.getExcludeDates12+
getExcludeDates(reminderId: number): Promise
为指定id的周期性的日历提醒,查询设置的所有不提醒日期。使用Promise异步回调。
系统能力: SystemCapability.Notification.ReminderAgent
参数:
返回值:
示例:
import { BusinessError } from \'@kit.BasicServicesKit\';let reminderId: number = 1;reminderAgentManager.getExcludeDates(reminderId).then((dates) => { console.log(\"getExcludeDates promise length: \" + dates.length); for (let i = 0; i { console.error(\"promise err code:\" + err.code + \" message:\" + err.message);});ts
ActionButtonType
提醒上的按钮的类型。
系统能力:SystemCapability.Notification.ReminderAgent
ReminderType
提醒的类型。
系统能力:SystemCapability.Notification.ReminderAgent
ActionButton
弹出的提醒中按钮的类型和标题。
系统能力:SystemCapability.Notification.ReminderAgent
WantAgent
跳转目标的ability信息。
系统能力:SystemCapability.Notification.ReminderAgent
MaxScreenWantAgent
通知中心弹出提醒时,全屏显示自动拉起目标的ability信息。该接口为预留接口,暂不支持使用。
系统能力:SystemCapability.Notification.ReminderAgent
ReminderRequest
代理提醒对象,用于设置提醒类型、响铃时长等具体信息。
系统能力:SystemCapability.Notification.ReminderAgent
ReminderRequestCalendar
ReminderRequestCalendar extends ReminderRequest
日历实例对象,用于设置提醒的时间。
系统能力:SystemCapability.Notification.ReminderAgent
ReminderRequestAlarm
ReminderRequestAlarm extends ReminderRequest
闹钟实例对象,用于设置提醒的时间。
系统能力:SystemCapability.Notification.ReminderAgent
ReminderRequestTimer
ReminderRequestTimer extends ReminderRequest
倒计时实例对象,用于设置提醒的时间。
系统能力:SystemCapability.Notification.ReminderAgent
LocalDateTime
用于日历类提醒设置时指定时间信息。
系统能力:SystemCapability.Notification.ReminderAgent
ReminderInfo12+
代理提醒信息,包含 ReminderRequest 和 ReminderId。
系统能力:SystemCapability.Notification.ReminderAgent
加入鸿蒙学习阵营!
除了本文,面费领《HarmonyOS应用开发》+《鸿蒙openharmony系统开发大全》 等入门进阶资料!关注我的CSDN主页,持续获取:
最新鸿蒙技术文章
独家项目实战教程
免费直播/训练营信息
👉 下方资源区已为你备好!