Почему длительность равна нулю для повторяющихся событий в Android?
Я пытаюсь реализовать одностороннюю синхронизацию с событиями календаря Android (мне нужны оригинальные события, а не экземпляры событий). Итак, у меня есть следующий запрос:
String[] projection = new String[]{
CalendarContract.Events.DTSTART,
CalendarContract.Events.EVENT_TIMEZONE,
CalendarContract.Events.DTEND,
CalendarContract.Events.EVENT_END_TIMEZONE,
CalendarContract.Events.DURATION
};
String selection = null;
String[] args = new String[0];
String sort = CalendarContract.Events.DTSTART + " ASC";
Cursor cursor = getContentResolver().query(CalendarContract.Events.CONTENT_URI, projection, selection, args, sort);
По словам разработчиков документов для повторяющихся событий dtstart
а также duration
необходимы, но когда я создаю событие через календарь Google и получаю его позже в своем коде, я имею dtend = 0
а также duration = null
,
Integer dtend = cursor.getLong(2);
String duration = cursor.getString(4);
Почему это может случиться?
1 ответ
Решение
У меня проблема с индексами в моем исходном приложении. CalendarContract.Events.DURATION
колонка решает проблему. Он имеет длительность одного события в RFC2445
формат. Мне просто нужно разобрать это.