我尝试阅读 ICS 上的重复事件,重复事件的 startTime 没问题,但 endTime 为 0(毫秒)。但仅在重复发生的事件中,持续时间不是“空”的。我在一个测试事件中读到了“ P9000S ”的持续时间。它采用 RFC2445 格式,因此它不是单个事件的持续时间,而是从第一个事件到最后一个事件的持续时间。RRULE 给出了我的以下信息:FREQ=MONTHLY;COUNT=3;BYMONTHDAY=3。如何获得单个事件的结束时间?提前非常感谢!这是我的预测:
final String[] projection = new String[]
{ CalendarContract.Events.TITLE, CalendarContract.Events.DTSTART, CalendarContract.Events.DTEND, CalendarContract.Events.RRULE, CalendarContract.Events.ALL_DAY, CalendarContract.Events.DURATION};
编辑:
final String[] projection = new String[]
{ CalendarContract.Events.TITLE, CalendarContract.Events.DTSTART, CalendarContract.Events.DTEND, CalendarContract.Events.DURATION, CalendarContract.Events.ALL_DAY, CalendarContract.Events.RRULE};
// Construct the query with the desired date range.
Uri.Builder builder = Instances.CONTENT_URI.buildUpon();
ContentUris.appendId(builder, now - DateUtils.DAY_IN_MILLIS);
ContentUris.appendId(builder, now + DateUtils.DAY_IN_MILLIS);
eventCursor = getContentResolver().query(
builder.build(), projection, Instances.CALENDAR_ID + " = ?",
new String[]{""+calendarID}, CalendarContract.Events.DTEND +" ASC");