本文旨在深入探讨华为鸿蒙HarmonyOS Next系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。
在移动应用开发中,及时有效的提醒功能对于提升用户体验至关重要。HarmonyOS Next 提供了代理提醒(Agent-powered Reminder)功能,它允许应用在后台被挂起或进程终止后,由系统代理应用执行提醒任务,例如倒计时、日历、闹钟等。这种机制可以确保用户及时收到重要的提醒信息,同时避免应用过度消耗设备资源。
代理提醒的类型与开发步骤
HarmonyOS Next 支持三种类型的代理提醒:
- 倒计时提醒:基于倒计时的提醒功能,例如倒计时 10 秒后提醒用户。
- 日历提醒:基于日历事件的提醒功能,例如在特定日期和时间提醒用户。
- 闹钟提醒:基于时钟的提醒功能,例如每天早上 7 点提醒用户起床。
开发步骤:
- 申请权限:在应用配置文件中添加
ohos.permission.PUBLISH_AGENT_REMINDER权限。 - 请求通知授权:获得用户授权后,才能使用代理提醒功能。
- 定义提醒内容:根据需要定义倒计时、日历或闹钟提醒内容,包括提醒标题、内容、过期内容、通知渠道等。
- 发布提醒:调用
publishReminder接口发布提醒任务。 - 取消提醒:根据需要调用
cancelReminder或cancelAllReminders接口取消提醒任务。
示例代码:倒计时提醒、日历提醒、闹钟提醒的设置
以下代码示例展示了如何设置三种类型的代理提醒:
倒计时提醒:
import {
reminderAgentManager } from '@kit.BackgroundTasksKit';
import {
notificationManager } from '@kit.NotificationKit';
let targetReminderAgent: reminderAgentManager.ReminderRequestTimer = {
reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_TIMER,
triggerTimeInSeconds: 10,
actionButton: [{
title: 'close', type: reminderAgentManager.ActionButtonType.ACTION_BUTTON_TYPE_CLOSE }],
wantAgent: {
pkgName: 'com.example.myapplication', abilityName: 'EntryAbility' },
maxScreenWantAgent: {
pkgName: 'com.example.myapplication', abilityName: 'EntryAbility' },
title: 'this is title',
content: 'this is content',
expiredContent: 'this reminder has expired',
notificationId: 100,
slotType: notificationManager.SlotType.SOCIAL_COMMUNICATION
};
reminderAgentManager.publishReminder(targetReminderAgent).then((res: number) => {
console.info('Succeeded in publishing reminder. ');
let reminderId:

最低0.47元/天 解锁文章
1225

被折叠的 条评论
为什么被折叠?



