HarmonyOS 日历服务无法读取,没有任何报错可是读出来是空

已申请日历权限,但是无法读取显示为空,具体demo如下:

import { calendarManager } from '@kit.CalendarKit';

const TAG = "[SystemCalendarManager]"

export function getThisDayStart(date: Date = new Date()): Date {
  let dateTime = new Date(date);
  dateTime = new Date(dateTime.setHours(0));
  dateTime = new Date(dateTime.setMinutes(0));
  dateTime = new Date(dateTime.setSeconds(0));
  dateTime = new Date(dateTime.setMilliseconds(0));
  return dateTime
}

/**
 * 获取当日终点
 * @param date 查询的日期
 */
export function getThisDayEnd(date: Date = new Date()): Date {
  let dateTime = new Date(date);
  dateTime = new Date(dateTime.setHours(23));
  dateTime = new Date(dateTime.setMinutes(59));
  dateTime = new Date(dateTime.setSeconds(59));
  dateTime = new Date(dateTime.setMilliseconds(999));
  return dateTime
}

/**
 * 获取日历内容
 * @param showDate 日期
 * @param context
 * @returns
 */
export async function getSystemCalendarEvents(showDate: Date, context: Context): Promise<void> {
  console.log(TAG, "getSystemCalendarEvents", showDate.toLocaleString())
  if (canIUse("SystemCapability.Applications.CalendarData")) {
    console.log(TAG, "canIUse", "SystemCapability.Applications.CalendarData")
    try {
      let calendarMgr = calendarManager.getCalendarManager(context);
      let calendar = await calendarMgr.getCalendar()
      let filter = calendarManager.EventFilter.filterByTime(
        getThisDayStart(showDate).getTime(),
        getThisDayEnd(showDate).getTime()
      );
      let events: Array<calendarManager.Event> = await calendar.getEvents(filter);
      console.warn(TAG, "getSystemCalendarEvents", JSON.stringify(filter), JSON.stringify(events))
    } catch (err) {
      console.error(TAG, "getSystemCalendarEvents", JSON.stringify(err))
    }
  }
  return
}

最终出来的结果为:

[SystemCalendarManager] getSystemCalendarEvents {} []
HarmonyOS
4天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

calendar获取日程事件是有权限限制的,只能获取本应用创建的日程事件,(系统日历程序权限更高,只有系统日历可以获取所有的日程事件)。

分享
微博
QQ
微信
回复
4天前
相关问题
点击FindComponentById之后没有任何反应
7721浏览 • 2回复 待解决
HarmonyOS CJCalendar 日历组件无法编译
929浏览 • 1回复 待解决
没有调用日历的接口?
6477浏览 • 1回复 待解决
HarmonyOS RN工程项目报错
42浏览 • 1回复 待解决
HarmonyOS 无法读取文件
70浏览 • 1回复 待解决
HarmonyOS 无法读取NM卡
2浏览 • 1回复 待解决
startScroll()没有任何反应
6742浏览 • 2回复 待解决
如何让日历显示的农历日期?
902浏览 • 1回复 待解决
也不报错,也没有任何的信
765浏览 • 1回复 待解决
DevEco Device中project tasks的?
5437浏览 • 1回复 已解决
HarmonyOS [object, object]如何读取的?
193浏览 • 1回复 待解决
HarmonyOS 日历里面添加日历问题
70浏览 • 1回复 待解决