let event: calendarManager.Event = {
type: calendarManager.EventType.NORMAL,
title: this.greatEventInfo.eventType,
description: this.greatEventInfo.calendarContent,
identifier: this.greatEventInfo.eventId.toString(),
startTime: new Date(date + " 09:00:00").getTime(),
endTime: new Date(date + " 09:05:00").getTime()
}
let result = await CalendarEventManager.sharedInstance.addCalendarEvent(event)
this.hasCalendarEvent = result
if (result) {
showTextToast.showToast("添加日历提醒成功")
} else {
showTextToast.showToast("添加日历提醒失败")
}
添加了日历事件,并且给唯一标识符赋值了,提示添加成功,再次获取这些事件的时候,发现Event返回的数据中没有identifier导致无法判断这个日历是否已经创建过。
获取日历事件的代码:
async hasCalendarEvent(eventId: number): Promise<boolean> {
let check = await this.checkPermissions();
if (!check) {
return false;
}
let result = await this.calendarMgr.getCalendar(this.calendarAccount).then(async (calendar: calendarManager.Calendar) => {
XFLog.d(this.TAG,`Succeeded getCalendar -> ${JSON.stringify(calendar)}`);
return await calendar.getEvents().then((data: calendarManager.Event[]) => {
XFLog.d(this.TAG,`Succeeded getEvents -> ${JSON.stringify(data)}`);
if (data && data.length > 0) {
for (const event of data) {
if (event.identifier === eventId.toString()) {
return true;
}
}
}
return false;
}).catch((err: BusinessError) => {
XFLog.d(this.TAG,`Failed to getEvents. Code: ${err.code}, message: ${err.message}`);
return false;
})
}).catch((err: BusinessError) => {
XFLog.d(this.TAG,`Failed to getEvents. Code: ${err.code}, message: ${err.message}`);
return false;
})
return result;
}
要筛选想要查找的信息,设置过滤条件:
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-calendarmanager-V5\#getevents-1