openharmony 鸿蒙 js-apis-reminderAgent

2025-06-12 浏览 (1)

@ohos.reminderAgent (后台代理提醒)

本模块提供后台代理提醒的能力。

开发应用时,开发者可以调用相关接口创建定时提醒,包括倒计时、日历、闹钟这三类提醒类型。使用后台代理提醒能力后,应用被冻结或退出后,计时和弹出提醒的功能将被后台系统服务代理。

说明:

从API Version 9 开始,该接口不再维护,推荐使用新接口@ohos.reminderAgentManager (后台代理提醒)

本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import reminderAgent from'@ohos.reminderAgent';

reminderAgent.publishReminder(deprecated)

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

发布一个后台代理提醒,使用回调的方式实现异步调用,该方法需要申请通知弹窗权限Notification.requestEnableNotification后才能调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.publishReminder替代。

需要权限:ohos.permission.PUBLISH_AGENT_REMINDER

系统能力:SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
reminderReqReminderRequest需要发布的提醒实例。
callbackAsyncCallback<number>异步回调,返回当前发布的提醒的id。

示例

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.log("callback, reminderId = " + reminderId);
});

reminderAgent.publishReminder(deprecated)

publishReminder(reminderReq: ReminderRequest): Promise<number>

发布一个后台代理提醒,使用Promise方式实现异步调用,该方法需要申请通知弹窗权限Notification.requestEnableNotification后才能调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.publishReminder替代。

需要权限:ohos.permission.PUBLISH_AGENT_REMINDER

系统能力:SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
reminderReqReminderRequest需要发布的提醒实例。

返回值

类型说明
Promise<number>返回提醒的Id。

示例

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

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

reminderAgent.cancelReminder(deprecated)

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

取消指定id的提醒,使用回调的方式实现异步调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.cancelReminder替代。

系统能力: SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
reminderIdnumber目标reminder的id号。
callbackAsyncCallback<void>异步回调。

示例

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

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

reminderAgent.cancelReminder(deprecated)

cancelReminder(reminderId: number): Promise<void>

取消指定id的提醒,使用Promise方式实现异步调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.cancelReminder替代。

系统能力: SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
reminderIdnumber目标reminder的id号。

返回值

类型说明
Promise<void>Promise类型异步回调。

示例

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

reminderAgent.getValidReminders(deprecated)

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

获取当前应用已设置的所有有效(未过期)的提醒,使用回调的方式实现异步调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.getValidReminders替代。

系统能力: SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
callbackAsyncCallback<Array<ReminderRequest>>异步回调,返回当前应用已设置的所有有效(未过期)的提醒。

示例

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

reminderAgent.getValidReminders((err: BusinessError, reminders: Array<reminderAgent.ReminderRequest>) => {
  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);
  }
})

reminderAgent.getValidReminders(deprecated)

getValidReminders(): Promise<Array<ReminderRequest>>

获取当前应用已设置的所有有效(未过期)的提醒,使用Promise方式实现异步调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.getValidReminders替代。

系统能力: SystemCapability.Notification.ReminderAgent

返回值

类型说明
Promise<Array<ReminderRequest>>返回当前应用已设置的所有有效(未过期)的提醒。

示例

reminderAgent.getValidReminders().then((reminders: Array<reminderAgent.ReminderRequest>) => {
  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 < 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);
  }
})

reminderAgent.cancelAllReminders(deprecated)

cancelAllReminders(callback: AsyncCallback<void>): void

取消当前应用所有的提醒,使用回调的方式实现异步调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.cancelAllReminders替代。

系统能力: SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
callbackAsyncCallback<void>异步回调。

示例

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

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

reminderAgent.cancelAllReminders(deprecated)

cancelAllReminders(): Promise<void>

取消当前应用所有的提醒,使用Promise方式实现异步调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.cancelAllReminders替代。

系统能力: SystemCapability.Notification.ReminderAgent

返回值

类型说明
Promise<void>Promise类型异步回调。

示例

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

reminderAgent.addNotificationSlot(deprecated)

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

添加一个NotificationSlot,使用回调的方式实现异步调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.addNotificationSlot替代。

系统能力: SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
slotNotificationSlotnotification.slot实例,仅支持设置其type属性。
callbackAsyncCallback<void>异步回调。

示例

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.log("addNotificationSlot callback");
});

reminderAgent.addNotificationSlot(deprecated)

addNotificationSlot(slot: NotificationSlot): Promise<void>

添加一个NotificationSlot,使用Promise方式实现异步调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.addNotificationSlot替代。

系统能力: SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
slotNotificationSlotnotification.slot实例,仅支持设置其type属性。

返回值

类型说明
Promise<void>Promise类型异步回调。

示例

import notification from '@ohos.notificationManager'

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

reminderAgent.removeNotificationSlot(deprecated)

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

删除目标NotificationSlot,使用callback方式实现异步调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.removeNotificationSlot替代。

系统能力:SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
slotTypenotification.SlotType目标notification.slot的类型。
callbackAsyncCallback<void>异步回调。

示例

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

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

reminderAgent.removeNotificationSlot(deprecated)

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

删除目标NotificationSlot,使用Promise方式实现异步调用。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.removeNotificationSlot替代。

系统能力:SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
slotTypenotification.SlotType目标notification.slot的类型。

返回值

类型说明
Promise<void>Promise类型异步回调。

示例

import notification from '@ohos.notification'

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

ActionButtonType(deprecated)

按钮的类型。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.ActionButtonType替代。

系统能力:SystemCapability.Notification.ReminderAgent

名称说明
ACTION_BUTTON_TYPE_CLOSE0表示关闭提醒的按钮。
ACTION_BUTTON_TYPE_SNOOZE1表示延迟提醒的按钮。

ReminderType(deprecated)

提醒的类型。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.ReminderType替代。

系统能力:SystemCapability.Notification.ReminderAgent

名称说明
REMINDER_TYPE_TIMER0表示提醒类型:倒计时。
REMINDER_TYPE_CALENDAR1表示提醒类型:日历。
REMINDER_TYPE_ALARM2表示提醒类型:闹钟。

ActionButton(deprecated)

用于设置弹出的提醒通知信息上显示的按钮类型和标题。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.ActionButton替代。

系统能力:SystemCapability.Notification.ReminderAgent

名称类型必填说明
titlestring按钮显示的标题。
typeActionButtonType按钮的类型。

WantAgent(deprecated)

点击提醒通知后跳转的目标ability信息。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.WantAgent替代。

系统能力:SystemCapability.Notification.ReminderAgent

名称类型必填说明
pkgNamestring指明点击提醒通知栏后跳转的目标HAP名。
abilityNamestring指明点击提醒通知栏后跳转的目标ability名称。

MaxScreenWantAgent(deprecated)

全屏显示提醒到达时自动拉起的目标ability信息,该接口预留。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.MaxScreenWantAgent替代。

系统能力:SystemCapability.Notification.ReminderAgent

名称类型必填说明
pkgNamestring指明提醒到达时自动拉起的目标HAP名(如果设备在使用中,则只弹出通知横幅框)。
abilityNamestring指明提醒到达时自动拉起的目标ability名(如果设备在使用中,则只弹出通知横幅框)。

ReminderRequest(deprecated)

提醒实例对象,用于设置提醒类型、响铃时长等具体信息。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.ReminderRequest替代。

系统能力:SystemCapability.Notification.ReminderAgent

名称类型必填说明
reminderTypeReminderType指明提醒类型。
actionButton[ActionButton?, ActionButton?]弹出的提醒通知栏中显示的按钮(参数可选,支持0/1/2个按钮)。
wantAgentWantAgent点击通知后需要跳转的目标ability信息。
maxScreenWantAgentMaxScreenWantAgent提醒到达时跳转的目标包。如果设备正在使用中,则弹出一个通知框。
ringDurationnumber指明响铃时长(单位:秒),默认1秒。
snoozeTimesnumber指明延迟提醒次数,默认0次。
timeIntervalnumber执行延迟提醒间隔(单位:秒),默认0秒。
titlestring指明提醒标题。
contentstring指明提醒内容。
expiredContentstring指明提醒过期后需要显示的内容。
snoozeContentstring指明延迟提醒时需要显示的内容。
notificationIdnumber指明提醒使用的通知的id号,相同id号的提醒会覆盖。
slotTypenotification.SlotType指明提醒的slot类型。

ReminderRequestCalendar(deprecated)

日历实例对象,用于设置提醒的时间。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.ReminderRequestCalendar替代。

系统能力:SystemCapability.Notification.ReminderAgent

名称类型必填说明
dateTimeLocalDateTime指明提醒的目标时间。
repeatMonthsArray<number>指明重复提醒的月份。
repeatDaysArray<number>指明重复提醒的日期。

ReminderRequestAlarm(deprecated)

闹钟实例对象,用于设置提醒的时间。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.ReminderRequestAlarm替代。

系统能力:SystemCapability.Notification.ReminderAgent

名称类型必填说明
hournumber指明提醒的目标时刻。
minutenumber指明提醒的目标分钟。
daysOfWeekArray<number>指明每周哪几天需要重复提醒。范围为周一到周末,对应数字为1到7。

ReminderRequestTimer(deprecated)

倒计时实例对象,用于设置提醒的时间。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.ReminderRequestTimer替代。

系统能力:SystemCapability.Notification.ReminderAgent

名称类型必填说明
triggerTimeInSecondsnumber指明倒计时的秒数。

LocalDateTime(deprecated)

用于日历类提醒设置时指定时间信息。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用reminderAgentManager.LocalDateTime替代。

系统能力:SystemCapability.Notification.ReminderAgent

名称类型必填说明
yearnumber
monthnumber
daynumber
hournumber
minutenumber
secondnumber

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Background Tasks Kit(后台任务开发服务)

harmony 鸿蒙BackgroundProcessManager

harmony 鸿蒙TransientTask

harmony 鸿蒙TransientTask_DelaySuspendInfo

harmony 鸿蒙TransientTask_TransientTaskInfo

harmony 鸿蒙background_process_manager.h

harmony 鸿蒙DeviceUsageStatistics错误码

harmony 鸿蒙backgroundTaskManager错误码

harmony 鸿蒙reminderAgentManager错误码

harmony 鸿蒙workScheduler错误码

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/NWnF5u