我需要检查当前是否有一个“忙”日历事件。

String[] projection = new String[] { BaseColumns._ID};
String selection = CalendarContract.Events.DTSTART + " <= ? AND "
        + CalendarContract.Events.DTEND + ">= ? AND "
        + CalendarContract.Events.AVAILABILITY + "=="
        + CalendarContract.Events.AVAILABILITY_BUSY;

Cursor cur = ctx.getContentResolver().query(CalendarContract.Events.CONTENT_URI,
        projection,
        selection,
        new String[] {String.valueOf(System.currentTimeMillis()),
        String.valueOf(System.currentTimeMillis())},
        null);


此代码可以正常工作,但不适用于重复发生的事件。
我该如何解决?

最佳答案

我认为您所需要做的就是切换从中读取的表see here

CalendarContract.Instances应提供所有事件,包括重复事件


  该表保存每个事件发生的开始时间和结束时间。该表中的每一行代表一个事件发生。对于一次性事件,实例与事件之间存在1:1的映射。对于重复发生的事件,将自动生成与该事件的多次出现相对应的多行。

关于android - 检查日历 Activity 是否正在进行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48356470/

10-09 04:14