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

这篇具有很好参考价值的文章主要介绍了鸿蒙原生应用/元服务开发-代理提醒开发步骤(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.申请ohos.permission.PUBLISH_AGENT_REMINDER权限。
2.使能通知开关。获得用户授权后,才能使用代理提醒功能。

3.导入模块。

import reminderAgentManager from '@ohos.reminderAgentManager';
import notificationManager from '@ohos.notificationManager';

4.定义目标提醒代理。开发者根据实际需要,选择定义如下类型的提醒。
定义倒计时实例。

let targetReminderAgent: reminderAgentManager.ReminderRequestTimer = {
  reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_TIMER, // 提醒类型为倒计时类型
  triggerTimeInSeconds: 10,
  actionButton: [// 设置弹出的提醒通知信息上显示的按钮类型和标题
    {
      title: 'close',
      type: reminderAgentManager.ActionButtonType.ACTION_BUTTON_TYPE_CLOSE
    }
  ],
  wantAgent: { // 点击提醒通知后跳转的目标UIAbility信息
    pkgName: 'com.example.myapplication',
    abilityName: 'EntryAbility'
  },
  maxScreenWantAgent: { // 全屏显示提醒到达时自动拉起的目标UIAbility信息
    pkgName: 'com.example.myapplication',
    abilityName: 'EntryAbility'
  },
  title: 'this is title', // 指明提醒标题
  content: 'this is content', // 指明提醒内容
  expiredContent: 'this reminder has expired', // 指明提醒过期后需要显示的内容
  notificationId: 100, // 指明提醒使用的通知的ID号,相同ID号的提醒会覆盖
  slotType: notificationManager.SlotType.SOCIAL_COMMUNICATION // 指明提醒的Slot类型
}

定义日历实例。

let targetReminderAgent: reminderAgentManager.ReminderRequestCalendar = {
  reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_CALENDAR, // 提醒类型为日历类型
  dateTime: { // 指明提醒的目标时间
    year: 2023,
    month: 1,
    day: 1,
    hour: 11,
    minute: 14,
    second: 30
  },
  repeatMonths: [1], // 指明重复提醒的月份
  repeatDays: [1], // 指明重复提醒的日期
  actionButton: [// 设置弹出的提醒通知信息上显示的按钮类型和标题
    {
      title: 'close',
      type: reminderAgentManager.ActionButtonType.ACTION_BUTTON_TYPE_CLOSE
    },
    {
      title: 'snooze',
      type: reminderAgentManager.ActionButtonType.ACTION_BUTTON_TYPE_SNOOZE
    },
  ],
  wantAgent: { // 点击提醒通知后跳转的目标UIAbility信息
    pkgName: 'com.example.myapplication',
    abilityName: 'EntryAbility'
  },
  maxScreenWantAgent: { // 全屏显示提醒到达时自动拉起的目标UIAbility信息
    pkgName: 'com.example.myapplication',
    abilityName: 'EntryAbility'
  },
  ringDuration: 5, // 指明响铃时长(单位:秒)
  snoozeTimes: 2, // 指明延迟提醒次数
  timeInterval: 5, // 执行延迟提醒间隔(单位:秒)
  title: 'this is title', // 指明提醒标题
  content: 'this is content', // 指明提醒内容
  expiredContent: 'this reminder has expired', // 指明提醒过期后需要显示的内容
  snoozeContent: 'remind later', // 指明延迟提醒时需要显示的内容
  notificationId: 100, // 指明提醒使用的通知的ID号,相同ID号的提醒会覆盖
  slotType: notificationManager.SlotType.SOCIAL_COMMUNICATION // 指明提醒的Slot类型
}

定义闹钟实例。

let targetReminderAgent: reminderAgentManager.ReminderRequestAlarm = {
  reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_ALARM, // 提醒类型为闹钟类型
  hour: 23, // 指明提醒的目标时刻
  minute: 9, // 指明提醒的目标分钟
  daysOfWeek: [2], // 指明每周哪几天需要重复提醒
  actionButton: [ // 设置弹出的提醒通知信息上显示的按钮类型和标题
    {
      title: 'close',
      type: reminderAgentManager.ActionButtonType.ACTION_BUTTON_TYPE_CLOSE
    },
    {
      title: 'snooze',
      type: reminderAgentManager.ActionButtonType.ACTION_BUTTON_TYPE_SNOOZE
    },
  ],
  wantAgent: { // 点击提醒通知后跳转的目标UIAbility信息
    pkgName: 'com.example.myapplication',
    abilityName: 'EntryAbility'
  },
  maxScreenWantAgent: { // 全屏显示提醒到达时自动拉起的目标UIAbility信息
    pkgName: 'com.example.myapplication',
    abilityName: 'EntryAbility'
  },
  ringDuration: 5, // 指明响铃时长(单位:秒)
  snoozeTimes: 2, // 指明延迟提醒次数
  timeInterval: 5, // 执行延迟提醒间隔(单位:秒)
  title: 'this is title', // 指明提醒标题
  content: 'this is content', // 指明提醒内容
  expiredContent: 'this reminder has expired', // 指明提醒过期后需要显示的内容
  snoozeContent: 'remind later', // 指明延迟提醒时需要显示的内容
  notificationId: 99, // 指明提醒使用的通知的ID号,相同ID号的提醒会覆盖
  slotType: notificationManager.SlotType.SOCIAL_COMMUNICATION // 指明提醒的Slot类型
}

5.发布相应的提醒代理。代理发布后,应用即可使用后台代理提醒功能。

reminderAgentManager.publishReminder(targetReminderAgent).then(res => {
  console.info('Succeeded in publishing reminder. ');
  let reminderId: number = res; // 发布的提醒ID
}).catch(err => {
  console.error(`Failed to publish reminder. Code: ${err.code}, message: ${err.message}`);
})

6.根据需要删除提醒任务。

// reminderId的值从发布提醒代理成功之后的回调中获得
reminderAgentManager.cancelReminder(reminderId).then(() => {
  console.info('Succeeded in canceling reminder.');
}).catch(err => {
  console.error(`Failed to cancel reminder. Code: ${err.code}, message: ${err.message}`);
});

本文根据HarmonyOS官方开发文档学习整理文章来源地址https://www.toymoban.com/news/detail-794307.html

到了这里,关于鸿蒙原生应用/元服务开发-代理提醒开发步骤(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • HarmonyOS鸿蒙原生应用开发设计- 隐私声明

    HarmonyOS鸿蒙原生应用开发设计- 隐私声明

    HarmonyOS设计文档中,为大家提供了独特的隐私声明,开发者可以根据需要直接引用。 开发者直接使用官方提供的隐私声明内容,既可以符合HarmonyOS原生应用的开发上架运营规范,又可以防止使用别人的内容产生的侵权意外情况等,减少自主创作隐私声明的工作量。当然,如果

    2024年02月05日
    浏览(38)
  • HarmonyOS鸿蒙原生应用开发设计- 华为分享图标

    HarmonyOS鸿蒙原生应用开发设计- 华为分享图标

    HarmonyOS设计文档中,为大家提供了独特的华为分享图标,开发者可以根据需要直接引用。 开发者直接使用官方提供的华为分享图标内容,既可以符合HarmonyOS原生应用的开发上架运营规范,又可以防止使用别人的内容产生的侵权意外情况等,减少自主创作华为分享图标的工作量

    2024年02月08日
    浏览(49)
  • HarmonyOS SDK,助力开发者打造焕然一新的鸿蒙原生应用

    HarmonyOS SDK,助力开发者打造焕然一新的鸿蒙原生应用

    鸿蒙生态 千帆启航仪式于 1 月1 8 日正式启动。 从2019年 HarmonyOS 正式发布到2 020 年“没有人能够熄灭漫天星光”,今天,满天星光终汇成璀璨星河, HarmonyOS NEXT鸿蒙 星河版 重磅发布,带来了全新架构、全新体验、全新生态。 作为支撑鸿蒙原生应用开发的技术源动力,Harmon

    2024年01月20日
    浏览(13)
  • 鸿蒙原生应用/元服务开发-延迟任务开发实现(二)

    接口名 接口描述 startWork(work: WorkInfo): void; 申请延迟任务 stopWork(work: WorkInfo, needCancel?: boolean): void; 取消延迟任务 getWorkStatus(workId: number, callback: AsyncCallback): void; 获取延迟任务状态(Callback形式) getWorkStatus(workId: number): Promise; 获取延迟任务状态(Promise形式) obtainAllWorks(callba

    2024年01月18日
    浏览(72)
  • 鸿蒙原生应用/元服务开发-延迟任务说明(一)

    鸿蒙原生应用/元服务开发-延迟任务说明(一)

    一、功能介绍 应用退至后台后,需要执行实时性要求不高的任务,例如有网络时不定期主动获取邮件等,可以使用延迟任务。当应用满足设定条件(包括网络类型、充电类型、存储状态、电池状态、定时状态等)时,将任务添加到执行队列,系统会根据内存、功耗、设备温度

    2024年01月19日
    浏览(41)
  • 基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9)

    基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9)

    最近基于Harmony OS最新版本开发了一个作品,本文来详细讲解一下,如何我是如何开发这个作品的。以及如何使用OpenHarmony,基于ArkTS,API 9来开发一个属于自己的元服务。 废话不多说,我的作品名称叫做 Company Operate 公司运营,是一个根据会计公式来预测公司未来几个月的资产

    2024年02月01日
    浏览(10)
  • 鸿蒙原生应用开发-折叠屏、平板设备服务卡片适配

    鸿蒙原生应用开发-折叠屏、平板设备服务卡片适配

    为不同尺寸的卡片提供不同的功能 在卡片开发过程中请考虑适配不同尺寸的设备,特别是在折叠屏和平板设备上,设备屏幕尺寸的变化直接影响了卡片内容的展示。请发挥想象力设计具有自适应能力的卡片,避免在卡片内容不做任何处理的情况下直接适配成较大尺寸,原则上

    2024年02月03日
    浏览(10)
  • HarmonyOS/OpenHarmony原生应用开发-华为Serverless云端服务支持说明(一)

    HarmonyOS/OpenHarmony原生应用开发-华为Serverless云端服务支持说明(一)

    云端服务的实现是 HarmonyOS/OpenHarmony原生应用开发的一个重要的环节,如果用户端是鸿蒙原生应用,但是服务端即云端还是基于传统的各种WEB网络框架、数据库与云服务器,那么所谓的原生应用开发实现的数据即后端服务是和以前、现在的互联网、移动互联网应用是一样的,等

    2024年02月07日
    浏览(14)
  • 【HarmonyOS】鸿蒙应用获取华为帐号手机号码步骤(API7及以下)

    【写在前面】 本文主要介绍使用API7及以下版本开发HarmonyOS应用时,通过华为帐号SDK和云侧接口获取手机号码的主要开发步骤,注意:开发过程中集成的华为帐号SDK仅支持API7及以下版本的HarmonyOS应用。 【前提准备】 1、HarmonyOS应用已申请获取手机号码的权限,申请权限文档请

    2024年02月12日
    浏览(11)
  • 鸿蒙(HarmonyOS)应用开发指南

    鸿蒙(HarmonyOS)应用开发指南

    1.1 简介 鸿蒙 (即 HarmonyOS ,开发代号 Ark ,正式名称为华为终端鸿蒙智能设备操作系统软件)是华为公司自 2012 年以来开发的一款可支持鸿蒙原生应用和兼容 AOSP 应用的 分布式操作系统 。该系统利用“分布式”技术将 手机、电脑、平板、电视、汽车和智能穿戴 等多款设备

    2024年02月02日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包