获取日历事件实例



我想获得当今的所有事件实例。为此,我正在使用以下代码:

Uri.Builder eventsUriBuilder = CalendarContract.Instances.CONTENT_URI.buildUpon();
    ContentUris.appendId(eventsUriBuilder, start);
    ContentUris.appendId(eventsUriBuilder, end);
 final Cursor cursorInstances = contentResolver.query(eventsUri, null, null, null, sortOrder);

除了全天活动实例外,它都可以返回今天和明天!

更新我知道为什么这是因为带有全天旗的事件实例的时区是UTC,但是我在当地进行了活动,所以这就是为什么我仍然不知道该如何处理。

有人可以帮我吗?

在此帖子答案中尝试代码。

Uri.Builder eventsUriBuilder = CalendarContract.Instances.CONTENT_URI.buildUpon();
ContentUris.appendId(eventsUriBuilder, timeNow);
ContentUris.appendId(eventsUriBuilder, endOfToday);
Uri eventsUri = eventsUriBuilder.build();
Cursor cursor = null;       
cursor = mContext.getContentResolver().query(eventsUri, columns, null, null, CalendarContract.Instances.DTSTART + " ASC");

注意:您必须将时间约束附加到事件URI,您不能对其他任何方式进行排序。为了包括全天活动, 只需将搜索扩展到前一天晚上11:59 PM和12:00 AM 今晚。

最新更新