当前位置: 首页 > news >正文

【HarmonyOS学习】Calendar Kit日历管理

简介

Calendar Kit提供日历与日程管理能力,包括日历的获取和日程的创建能力。
在这里插入图片描述
Calendar Kit为用户提供了一系列接口来获取日历账户,并使用特定的接口向日历账户中写入日程。

如果写入的日程带有提醒时间则系统会在时间到达时向用户发送提醒。

约束点

  • 需要用户手动授权获取读取、写入日历日程的权限。

  • 仅支持stage模型。

  • 从api11开始支持

相关知识

配置需要的权限

在module.json5中配置所需申请的权限

"requestPermissions": [{"name": "ohos.permission.READ_CALENDAR",},{"name": "ohos.permission.WRITE_CALENDAR"}
]

在EntryAbility中配置权限和日历管理器

EntryAbility中检查用户是否确认权限:

import {abilityAccessCtrl,AbilityConstant,common,PermissionRequestResult,Permissions,UIAbility,Want
} from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { window } from '@kit.ArkUI';
import { calendarManager } from '@kit.CalendarKit';
import { BusinessError } from '@kit.BasicServicesKit';/*** 日志管理器全局对象*/
export let calendarMgr: calendarManager.CalendarManager | null = null;export let mContext: common.UIAbilityContext | null = null;export default class EntryAbility extends UIAbility {onWindowStageCreate(windowStage: window.WindowStage): void {// Main window is created, set main page for this abilityhilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');windowStage.loadContent('pages/Index', (err) => {if (err.code) {hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');return;}hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.');});//检测用户是否授权日历权限mContext = this.context;const permissions: Permissions[] = ['ohos.permission.READ_CALENDAR', 'ohos.permission.WRITE_CALENDAR'];let atManager = abilityAccessCtrl.createAtManager();atManager.requestPermissionsFromUser(mContext, permissions).then((result: PermissionRequestResult) => {//给日历管理器赋值calendarMgr = calendarManager.getCalendarManager(mContext);}).catch((error: BusinessError) => {console.error(`get Permission error, error: ${JSON.stringify(error)}`);})}
}

日历管理器(CalendarManager)

提供了添加、删除、获取日历账户的相关方法。如果不需要关注日程(Event)的账户(Calendar)归属时,可以直接使用getCalendar方法直接获取。

相关方法如下:

  • createCalendar(calendarAccount: CalendarAccount, callback: AsyncCallback): void

  • createCalendar(calendarAccount: CalendarAccount): Promise

  • deleteCalendar(calendar: Calendar, callback: AsyncCallback): void

  • deleteCalendar(calendar: Calendar): Promise

  • getCalendar(callback: AsyncCallback): void

  • getCalendar(calendarAccount: CalendarAccount, callback: AsyncCallback): void

  • getCalendar(calendarAccount?: CalendarAccount): Promise

  • getAllCalendars(callback: AsyncCallback<Calendar[]>): void

  • getAllCalendars(): Promise<Calendar[]>

日历账户(Calendar)

可以对账户中的日程进行创建、删除、修改、查询等操作,还有日历配置信息、日历账户信息等方法

日程(Event)

在这里插入图片描述

http://www.lryc.cn/news/401164.html

相关文章:

  • RDMA 高性能架构基本原理与设计方案
  • 【Springboot】事件机制发布与订阅的使用实践
  • 新版网页无插件H.265播放器EasyPlayer.js如何测试demo视频?
  • PXE、Kickstart和cobbler
  • 【GameFramework扩展应用】6-3、GameFramework框架增加日志保存功能
  • 将独热码应用到神经网络中
  • 在CSS中,使用Flexbox布局时,可以通过几个属性来控制容器内的项目之间的间距
  • 关于HDFS 和HBase
  • 【HarmonyOS】HarmonyOS NEXT学习日记:二、ArkTs语法
  • Web前端-Web开发CSS基础2-选择器
  • Mongodb数组字段索引之多键索引
  • [Spring] Spring Web MVC案例实战
  • 大模型“重构”教育:解构学习奥秘,推动教育普惠
  • HCNA VRP基础
  • 单片机外围设备-EEPROM
  • YOLO--置信度(超详细解读)
  • “解锁物流新纪元:深入探索‘沂路畅通‘分布式协作平台“
  • 昇思25天学习打卡营第六天|应用实践/计算机视觉/Vision Transformer图像分类
  • vxe-table合并行数据
  • LabVIEW异步和同步通信详细分析及比较
  • 【多模态学习笔记二】MINIGPT-4论文阅读
  • Docker基本讲解及演示
  • 各类专业技术的pdf电子书
  • 【Linux】多线程_9
  • LabVIEW设备检修信息管理系统
  • python爬虫基础:使用lxml库进行HTML解析和数据提取的实践指南
  • 大语言模型系列:Transformer
  • 宠物健康新守护:智能听诊器引领科技突破
  • KITTI 3D 数据可视化
  • 旅游数据可视化:免费工具让复杂数据变得简单易懂