Установка частотного атрибута RRULE для однократного запуска события

Я имею

Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("beginTime", dateStart.getTime());
intent.putExtra("allDay", false);
intent.putExtra("rrule", "FREQ=DAILY");
intent.putExtra("endTime", dateEnd.getTime());
startActivity(intent);

Чтобы скомпилировать событие, и я хочу запустить событие один раз.

Линия, которая устанавливает частоту

intent.putExtra("rrule", "FREQ=DAILY");

также, если я удаляю эту строку, по умолчанию календарь Android установлен на DAILY, если я не изменяю его вручную.

Я искал список всех поддерживаемых атрибутов, нашел MONTLY,YEARLY и т. Д., Но не могу найти правильный поддерживаемый синтаксис для "одного раза"

Не могли бы вы помочь мне?

3 ответа

Решение

Правильный способ установить одноразовое событие, согласно спецификации, указанной в документации, - не указывать RRULE. Вы уверены, что событие повторяется, вместо того, чтобы отображать частоту как ежедневную и все еще только один раз? Если это так, следующее должно работать, хотя это немного подделка:

intent.putExtra("rrule", "FREQ=DAILY;COUNT=1");

Для одного временного события вы также можете просто ничего не устанавливать.

/ бладжер,

странная ошибка Вы должны просто удалить эту строку кода

intent.putExtra("rrule", "FREQ=DAILY");

и он должен прекрасно работать как "Single Event". Если вы используете опцию rrule, вы говорите приложению "повторить" событие.

Так что... просто удалите эту строку кода, и она должна работать.

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