为什么不使用EVENT_END_TIMEZONE?

时间:2015-03-27 04:57:00

标签: android timezone android-calendar

更改同时设置了EVENT_TIMEZONEEVENT_END_TIMEZONE的活动的时区时,对于我尝试的所有日历应用( aCalendar 0.99.8,Google的默认日历4.4。 2 ),EVENT_END_TIMEZONE未更新到新时区,但会根据新时区显示结束时间。

为什么结束时区设置为与开始/常规时区相同的值?我是否遗漏了一些其他与时区相关的字段,必须为{{{ 3}}要使用/更新?


当我被要求提供一些代码时,这里有一种可能的方法来定义显示所描述行为的事件(请注意,根据代码的上下文,您可能需要使用不同的URI和/或添加其他字段):

final ContentResolver cr = /* ... */;
final long calendarId = /* ... */;

final ContentValues values = new ContentValues();
values.put(CalendarContract.Events.CALENDAR_ID, calendarId);
values.put(CalendarContract.Events.TITLE, "Test");
values.put(CalendarContract.Events.DTSTART, 1428307200000L);
values.put(CalendarContract.Events.EVENT_TIMEZONE, "Europe/Berlin");
values.put(CalendarContract.Events.DTEND, 1428314400000L);
values.put(CalendarContract.Events.EVENT_END_TIMEZONE,"Europe/Berlin");
final Uri result = cr.insert(CalendarContract.Events.CONTENT_URI, values);

使用上面列出的两个应用中的任何一个将事件更改为其他时区后,其EVENT_END_TIMEZONE将被保留("Europe/Berlin"),同时相对于新事件显示事件的结束时区(与"Europe/Berlin"不同的东西)。

0 个答案:

没有答案