update系统Calendar事件后,事件不显示了
在做一个calendar相关开发中,调用getContentResolver().update遇到一个奇怪的问题,
如果更新的事件日期没有改变,更新后,在系统的Calendar中看不到该事件,而日期换成其他天,则能正常显示,有没有大虾遇到过类似的问题啊?
update 代码如下:
public static void updateEvent(Context ct, CalendarEventElement ce,
String eventID) {
Activity at = (Activity) ct;
String calId = "";
int result = -1;
Cursor userCursor = at.getContentResolver().query(
Uri.parse(calanderURL), null, null, null, null);
if (userCursor.getCount() > 0) {
userCursor.moveToFirst();
calId = userCursor.getString(userCursor.getColumnIndex("_id"));
}
ContentValues event = new ContentValues();
event.put("title", ce.title);
event.put("description", ce.description);
event.put("calendar_id", calId);
event.put("dtstart", ce.starttime);
event.put("dtend", ce.endtime);
event.put("hasAlarm", 1);
event.put("eventTimezone", "Asia/Shanghai");
String where = "_id = '" + eventID + "'";
result = at.getContentResolver().update(Uri.parse(calanderEventURL),event, where, null);
ContentValues values = new ContentValues();
values.put("minutes", ce.minutes);
values.put("method", 1);
where = "event_id = '" + eventID + "'";
result = at.getContentResolver().update(Uri.parse(calanderRemiderURL),
values, where, null);
}