0

我正在使用 Android 日历。如何使用代码删除日历事件?是否可以?

为了澄清起见,我想提一下,我不想要同步过程或想要使用 gdata api 删除事件。

我只想删除本地日历事件。

4

4 回答 4

3

尝试使用事件 ID 的 Uri 删除事件。

Uri uri='URI OF THE EVENT';
getContentResolver().delete(uri, null, null);
于 2011-09-20T04:19:42.917 回答
3

一个简短的方法:

Uri eventUri = Uri.parse("content://calendar/events");  // or "content://com.android.calendar/events" 


Cursor cursor = contentResolver.query(eventUri, new String[]{"_id"}, "calendar_id = " + calendarId, null, null); // calendar_id can change in new versions 

while(cursor.moveToNext()) {
    Uri deleteUri = ContentUris.withAppendedId(eventUri, cursor.getInt(0));

    contentResolver.delete(deleteUri, null, null);
}
于 2012-06-21T07:03:00.817 回答
2

没有“删除本地日历的事件”这样的概念:

  • 没有“本地日历”。最多有用户的 Google 日历的缓存表示。
  • 日历应用程序不是 SDK 的一部分
于 2010-04-30T10:58:59.803 回答
1

虽然它不是 SDK 的一部分,但您可以访问它,但由于不受支持,因此访问它需要您自担风险。我遵循的一个很好的教程是这些链接:

http://www.developer.com/ws/article.php/3850276/Working-with-the-Android-Calendar.htm(死链接)

http://jimblackler.net/blog/?p=151&cpage=2#comments

http://android-codes-examples.blogspot.com/2011/02/insertion-and-deletion-of-calendar.html

http://hanscapelle.blogspot.com/2011/03/android-calendar-api-glitches.html

一些很好的示例代码: http: //pastebin.com/jpnqTp1n

于 2011-06-23T03:06:33.193 回答