【发布时间】:2015-09-06 17:48:39
【问题描述】:
我正在使用以下代码(来自开发者网站)在设备日历中插入事件-
long calID = 1;
long startMillis = 0;
long endMillis = 0;
Calendar beginTime = Calendar.getInstance();
beginTime.set(2015, 9, 6, 7, 00);
startMillis = beginTime.getTimeInMillis();
Calendar endTime = Calendar.getInstance();
endTime.set(2015, 9, 6, 8, 45);
endMillis = endTime.getTimeInMillis();
ContentResolver cr = getContentResolver();
ContentValues values = new ContentValues();
values.put(Events.DTSTART, startMillis);
values.put(Events.DTEND, endMillis);
values.put(Events.TITLE, "Test Title");
values.put(Events.DESCRIPTION, "Group workout");
values.put(Events.CALENDAR_ID, calID);
TimeZone tz = TimeZone.getDefault();
values.put(Events.EVENT_TIMEZONE, tz.getID());
Uri uri = cr.insert(Events.CONTENT_URI, values);
long eventID = Long.parseLong(uri.getLastPathSegment());
代码似乎可以工作,因为我正在获取插入事件的 eventID。
执行此操作后,我无法在日历应用中看到该事件。我尝试从设置>帐户>谷歌>日历同步日历。
代码中是否有问题或我必须添加任何其他代码才能查看日历中的事件?
【问题讨论】:
-
您确定
calID = 1解析为您设备上确实存在的日历吗?我猜您需要在插入事件之前查询与您的 Google 帐户真正关联的现有日历 ID:developer.android.com/guide/topics/providers/…
标签: android android-contentprovider android-calendar