Почему длительность равна нулю для повторяющихся событий в 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 формат. Мне просто нужно разобрать это.

Другие вопросы по тегам