android: EXDATE format when adding a calendar even

2019-08-13 15:08发布

Can someone explain how to use EXDATE when adding event to android calendar? The documentation is pretty unclear about the format in which the EXDATE should be put. I tried many formats, these are some of them:

values.put(Events.EXDATE, "TZID=Europe/London:20130116T080000");
values.put(Events.EXDATE, "20130116T080000Z");
values.put(Events.EXDATE, "20130116T080000");
values.put(Events.EXDATE, "20130116");

but none of them works. Any idea how to make an event not appear on a particular date, if by the RRULE it should appear?

2条回答
等我变得足够好
2楼-- · 2019-08-13 15:16

The correct format is:

values.put(Events.EXDATE, "20130116T080000Z");

However you must ensure that it is in UTC time. I was having the same problem starting from PST, so I just had to add 8 hours to get it to work.

查看更多
兄弟一词,经得起流年.
3楼-- · 2019-08-13 15:21

I'm adding on top of @kee23's excellent and correct answer:

I just got aware that in android, you can not persist EXDATEs to an event with endless recurrences, say RRULE:FREQ=DAILY. You need to limit the occurrences, as in RRULE:FREQ=DAILY;COUNT=600.

This is not documented by google and there is no error message if you try to persist endless recurrences with EXDATEs. It just silently dropped RRULE and DURATION in my case.

查看更多
登录 后发表回答