检查日历活动是否正在进行

时间:2018-01-20 13:02:53

标签: android calendar

我需要检查当前是否有#34;忙碌的日历事件。

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);

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

1 个答案:

答案 0 :(得分:1)

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

CalendarContract.Instances应提供所有活动,包括重复活动

  

此表包含每次事件发生的开始和结束时间。此表中的每一行代表一个事件发生。对于一次性事件,实例与事件的映射为1:1。对于重复发生的事件,将自动生成多个行,这些行对应于该事件的多次出现。