安卓 - 如何在 rrule 中创建带有"until"日期的定期事件?



我可以在谷歌日历中添加重复事件,但在rrule中设置"直到">日期,则不会在谷歌日历上创建事件。如何解决??

我的内容值为"description=Test title=Monthly Event allDay=0 dtend=15725933453011 dtstart=15725916533011 calendar_id=2 eventLocation=null rrule=FREQ=Monthly;BYMONTHDAY=1;UNTIL=11580452756479">

如果我不给,直到rrule中的值被保存到谷歌日历,否则不要保存

val values = ContentValues().apply {
put(CalendarContract.Events.DTSTART, entity.dateTime.startsOn)
put(CalendarContract.Events.DTEND, entity.dateTime.endsOn)

put(CalendarContract.Events.ALL_DAY, if (entity.dateTime.isAllDay) 1 else 0)
put(CalendarContract.Events.TITLE, entity.title.name)
put(CalendarContract.Events.DESCRIPTION, entity.note.content)
put(CalendarContract.Events.CALENDAR_ID, getPrimaryCalendarId())
put(CalendarContract.Events.EVENT_TIMEZONE, Locale.getDefault().toString())
put(CalendarContract.Events.EVENT_LOCATION, entity.location.address)
put(CalendarContract.Events.RRULE,
getRRule())
}
val uri: Uri = activity!!.contentResolver.insert(CalendarContract.Events.CONTENT_URI, values)!!
eventID = uri.lastPathSegment!!.toLong()
print("Event Id $eventID")

最终找到的解决方案是UNTIL接受日期格式为yyyyMMdd'THHMMS'Z'的值,例如"20191105T000000Z"。

内容值为"description=Test title=Monthly Event allDay=0 dtend=1572593453011 dtstart=1572591653011 calendar_id=2 eventLocation=null rrule=FREQ=Monthly;BYMONTHDAY=1;UNTIL=20191113T000000Z"。

最新更新