0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发接口公共事件与通知:【@ohos.reminderAgent (后台代理提醒)】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-25 16:27 次阅读

后台代理提醒

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

开发应用时,开发者可以调用后台提醒发布的接口创建定时提醒,包括倒计时、日历、闹钟三种提醒类型。使用后台代理提醒能力后,应用可以被冻结或退出,计时和弹出提醒的功能将被后台系统服务代理。
说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import reminderAgent from'@ohos.reminderAgent';

开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]点击或者复制转到。

reminderAgent.publishReminder

publishReminder(reminderReq: ReminderRequest, callback: AsyncCallback): void

发布一个后台代理提醒,使用callback方式实现异步调用。

需要权限 : ohos.permission.PUBLISH_AGENT_REMINDER

系统能力 : SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
reminderReq[ReminderRequest]需要发布的提醒实例。
callbackAsyncCallback异步回调,返回当前发布的提醒的reminderId。

示例

let timer = {
      reminderType: reminderAgent.ReminderType.REMINDER_TYPE_TIMER,
      triggerTimeInSeconds: 10
  }
  reminderAgent.publishReminder(timer, (err, reminderId) = > {
      console.log("callback, reminderId = " + reminderId);
  });

reminderAgent.publishReminder

publishReminder(reminderReq: ReminderRequest): Promise

发布一个后台代理提醒,使用Promise方式实现异步调用。

需要权限 : ohos.permission.PUBLISH_AGENT_REMINDER

系统能力 : SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
reminderReq[ReminderRequest]需要发布的提醒实例。

返回值

类型说明
Promise返回提醒的reminderId。

示例

let timer = {
      reminderType: reminderAgent.ReminderType.REMINDER_TYPE_TIMER,
      triggerTimeInSeconds: 10
  }
  reminderAgent.publishReminder(timer).then((reminderId) = > {
      console.log("promise, reminderId = " + reminderId);
  });

reminderAgent.cancelReminder

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

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

系统能力 : SystemCapability.Notification.ReminderAgent

参数

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

示例

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

reminderAgent.cancelReminder

cancelReminder(reminderId: number): Promise

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

系统能力 : SystemCapability.Notification.ReminderAgent

参数

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

返回值

类型说明
PromisePromise类型异步回调。

示例

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

reminderAgent.getValidReminders

getValidReminders(callback: AsyncCallback>): void

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

系统能力 : SystemCapability.Notification.ReminderAgent

参数

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

示例

reminderAgent.getValidReminders((err, reminders) = > {
    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);
        for (let j = 0; j < reminders[i].actionButton.length; j++) {
            console.log("getValidReminders, actionButton.title = " + reminders[i].actionButton[j].title);
            console.log("getValidReminders, actionButton.type = " + reminders[i].actionButton[j].type);
        }
        console.log("getValidReminders, wantAgent.pkgName = " + reminders[i].wantAgent.pkgName);
        console.log("getValidReminders, wantAgent.abilityName = " + reminders[i].wantAgent.abilityName);
        console.log("getValidReminders, maxScreenWantAgent.pkgName = " + reminders[i].maxScreenWantAgent.pkgName);
        console.log("getValidReminders, maxScreenWantAgent.abilityName = " + reminders[i].maxScreenWantAgent.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

getValidReminders(): Promise>

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

系统能力 : SystemCapability.Notification.ReminderAgent

返回值

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

示例

reminderAgent.getValidReminders().then((reminders) = > {
    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);
        for (let j = 0; j < reminders[i].actionButton.length; j++) {
            console.log("getValidReminders, actionButton.title = " + reminders[i].actionButton[j].title);
            console.log("getValidReminders, actionButton.type = " + reminders[i].actionButton[j].type);
        }
        console.log("getValidReminders, wantAgent.pkgName = " + reminders[i].wantAgent.pkgName);
        console.log("getValidReminders, wantAgent.abilityName = " + reminders[i].wantAgent.abilityName);
        console.log("getValidReminders, maxScreenWantAgent.pkgName = " + reminders[i].maxScreenWantAgent.pkgName);
        console.log("getValidReminders, maxScreenWantAgent.abilityName = " + reminders[i].maxScreenWantAgent.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

cancelAllReminders(callback: AsyncCallback): void

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

系统能力 : SystemCapability.Notification.ReminderAgent

参数

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

示例

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

reminderAgent.cancelAllReminders

cancelAllReminders(): Promise

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

系统能力 : SystemCapability.Notification.ReminderAgent

返回值

类型说明
PromisePromise类型异步回调。

示例

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

reminderAgent.addNotificationSlot

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

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

系统能力 : SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
slot[NotificationSlot]notification slot实例,仅支持设置其type属性。
callbackAsyncCallback异步回调。

示例

import notification from '@ohos.notification'

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

reminderAgent.addNotificationSlot

addNotificationSlot(slot: NotificationSlot): Promise

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

系统能力 : SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
slot[NotificationSlot]notification slot实例,仅支持设置其type属性。

返回值

类型说明
PromisePromise类型异步回调。

示例

import notification from '@ohos.notification'

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

reminderAgent.removeNotificationSlot

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

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

系统能力 : SystemCapability.Notification.ReminderAgent

参数

参数名类型必填说明
slotType[notification.SlotType]目标notification slot的类型。
callbackAsyncCallback异步回调。

示例

import notification from '@ohos.notification'

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

reminderAgent.removeNotificationSlot

removeNotificationSlot(slotType: notification.SlotType): Promise

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

系统能力 : SystemCapability.Notification.ReminderAgent

参数

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

返回值

类型说明
PromisePromise类型异步回调。

示例

import notification from '@ohos.notification'

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

ActionButtonType

按钮的类型。

系统能力 :以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent

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

ReminderType

提醒的类型。

系统能力 :以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent

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

ActionButton

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

系统能力 :以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent

名称参数类型必填说明
titlestring按钮显示的标题。
type[ActionButtonType]按钮的类型。

WantAgent

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

系统能力 :以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent

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

MaxScreenWantAgent

提醒到达时自动拉起的目标ability信息。

系统能力 :以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent

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

ReminderRequest

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

系统能力 :以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent

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

ReminderRequestCalendar

ReminderRequestCalendar extends ReminderRequest

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

系统能力 :以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent

名称参数类型必填说明
dateTime[LocalDateTime]指明提醒的目标时间。
repeatMonthsArray指明重复提醒的月份。
repeatDaysArray指明重复提醒的日期。

ReminderRequestAlarm

ReminderRequestAlarm extends ReminderRequest

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

系统能力 :以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent

名称参数类型必填说明
hournumber指明提醒的目标时刻。
minutenumber指明提醒的目标分钟。
daysOfWeekArray指明每周哪几天需要重复提醒。

ReminderRequestTimer

ReminderRequestTimer extends ReminderRequest

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

系统能力 :SystemCapability.Notification.ReminderAgent

名称参数类型必填说明HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿
triggerTimeInSecondsnumber指明倒计时的秒数。

搜狗高速浏览器截图20240326151547.png

LocalDateTime

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

系统能力 :以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent

名称参数类型必填说明
yearnumber
monthnumber
daynumber
hournumber
minutenumber
secondnumber
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HarmonyOS
    +关注

    关注

    79

    文章

    1964

    浏览量

    29953
  • OpenHarmony
    +关注

    关注

    25

    文章

    3628

    浏览量

    16030
  • 鸿蒙OS
    +关注

    关注

    0

    文章

    188

    浏览量

    4353
收藏 人收藏

    评论

    相关推荐

    鸿蒙开发接口公共事件与通知:【@ohos.commonEvent (公共事件模块)】

    本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
    的头像 发表于 05-21 11:13 970次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件与<b class='flag-5'>通知</b>:【@<b class='flag-5'>ohos</b>.commonEvent (<b class='flag-5'>公共事</b>件模块)】

    鸿蒙开发接口公共事件与通知:【@ohos.events.emitter (Emitter)】

    本模块首批接口从API version 7开始支持。
    的头像 发表于 05-21 16:06 1241次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件与<b class='flag-5'>通知</b>:【@<b class='flag-5'>ohos</b>.events.emitter (Emitter)】

    鸿蒙开发接口公共事件与通知:【Notification模块】

    本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
    的头像 发表于 05-21 17:04 1945次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件与<b class='flag-5'>通知</b>:【Notification模块】

    鸿蒙开发接口公共事件与通知:【application/EventHub (EventHub)】

    EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件的能力。
    的头像 发表于 05-25 16:31 672次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件与<b class='flag-5'>通知</b>:【application/EventHub (EventHub)】

    鸿蒙原生应用/元服务开发-通知添加行为意图

    WantAgent提供了封装行为意图的能力,这里所说的行为意图主要是指拉起指定的应用组件及发布公共事件等能力。HarmonyOS支持以通知的形式,将WantAgent从发布方传递至接收方,从而在接收
    发表于 01-05 15:07

    鸿蒙原生应用/元服务开发-代理提醒说明(一)

    的本应用。 三、接口说明 表1 主要接口 以下是代理提醒的相关接口,下表均以Promise形式为例。 本文根据HarmonyOS官方
    发表于 01-12 09:49

    鸿蒙原生应用/元服务开发-代理提醒开发步骤(二)

    1.申请ohos.permission.PUBLISH_AGENT_REMINDER权限。 2.使能通知开关。获得用户授权后,才能使用代理提醒功能。 3.导入模块。 import
    发表于 01-15 14:14

    基于ArkTS语言的OpenHarmony APP应用开发公共事件的订阅和发布

    监听特定系统公共事件,应用退出后该选项将自动调整为“从不”。 返回值应用菜单页面,点击“关于”可查看应用版本信息及本示例的说明。 本案例已在OpenHarmony凌蒙派-RK3568开发板验证通过
    发表于 09-18 13:16

    HarmonyOS应用开发-公共事件处理

    开发过程中service想要控制多个ability时,可以考虑使用公共事件处理。发布无序的公共事件: //发布公共事件 同步修改卡片与页面public void subscribeE
    发表于 11-02 15:15

    请问鸿蒙智能穿戴设备如何保持后台任务定时获取网络数据?

    ;ohos.permission.SET_WIFI_INFO"},{ "name": "ohos.permission.GET_WIFI_INFO"}]无法满足业务业务要求:应用退后台后,间隔
    发表于 04-25 10:19

    HarmonyOS后台任务管理开发指南上线!

    为应用进程分配 CPU 资源,同时对应的公共事件等不再发给应用进程)和进程终止。 为了保障后台音乐播放、日历提醒等功能的正常使用,系统提供了规范内受约束的后台任务,扩展应用在
    发表于 11-29 09:58

    鸿蒙原生应用/元服务开发-Stage模型能力接口(四)

    一、说明 AbilityStage是HAP的运行时类。AbilityStage类提供在HAP加载的时候,通知开发者,可以在此进行该HAP的初始化(如资源预加载,线程创建等)能力。 本模块首批接口
    发表于 12-14 15:39

    鸿蒙开发接口Ability框架:【@ohos.ability.wantConstant (wantConstant)】

    wantConstant模块提供want中action和entity的权限列表的能力,包括系统公共事件宏,系统公共事件名称等。
    的头像 发表于 04-30 16:33 569次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b>Ability框架:【@<b class='flag-5'>ohos</b>.ability.wantConstant (wantConstant)】

    鸿蒙开发接口公共事件与通知:【FFI能力(Node-API)】

    Node-API是封装底层JavaScript运行时能力的一套Native接口。OpenHarmony的N-API组件对Node-API的接口进行了重新实现,ArkUI-X同样拥有这部分能力,目前支持部分接口,支持列表。
    的头像 发表于 05-21 16:38 872次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件与<b class='flag-5'>通知</b>:【FFI能力(Node-API)】

    基于ArkTS语言的OpenHarmony APP应用开发公共事件的订阅和发布

    1、程序介绍本示例主要展示了公共事件相关的功能,实现了一个检测用户部分行为的应用。具体而言,本案例实现了如下几个公共事件功能:通过订阅系统公共事件,实现对用户操作行为(亮灭屏、断联网)的监测;通过
    的头像 发表于 09-19 08:05 321次阅读
    基于ArkTS语言的OpenHarmony APP应用<b class='flag-5'>开发</b>:<b class='flag-5'>公共事</b>件的订阅和发布