如何删除日历条目?

时间:2009-09-24 15:18:21

标签: android calendar

我正在尝试实现我的第一个Android程序。它应该写日历条目(我知道,不是开始编程Andorid的最佳任务)。

我试过了:

Uri CALENDAR_URI = Uri.parse("content://calendar/events");
ContentResolver cr = getContentResolver();
cr.delete(CALENDAR_URI, null, null); // Delete all
cr.delete(CALENDAR_URI, "calendar_id=1", null); // Delete all in default calendar
cr.delete(CALENDAR_URI, "_id=1", null); // Delete specific entry

没有任何效果。我加快了“无法删除该网址”。

插入日历条目很简单:

ContentValues values = new ContentValues();
values.put("calendar_id", 1);
values.put("title", this.title);
values.put("allDay", this.allDay);
values.put("dtstart", this.dtstart.toMillis(false));
values.put("dtend", this.dtend.toMillis(false));
values.put("description", this.description);
values.put("eventLocation", this.eventLocation);
values.put("visibility", this.visibility);
values.put("hasAlarm", this.hasAlarm);

cr.insert(CALENDAR_URI, values);

根据我的插入方法访问日历工作。

谢谢,亚瑟!

2 个答案:

答案 0 :(得分:8)

好的,有一点我没试过:

Uri CALENDAR_URI = Uri.parse("content://calendar/events");
int id = 1; // calendar entry ID
Uri uri = ContentUris.withAppendedId(CALENDAR_URI, id);
cr.delete(uri, null, null);

这就是我所缺少的:

Uri uri = ContentUris.withAppendedId(CALENDAR_URI, id);

应该导致内容:// calendar / events / 1

现在我的日历是空的: - )

答案 1 :(得分:1)

从用户日历中删除内容的正确方法是使用相应的GData API并将其从Google日历中删除。操作日历应用程序的内容提供程序 - 正如您尝试的那样 - 不是公共API的一部分。