我正在使用 Android 日历。如何使用代码删除日历事件?是否可以?
为了澄清起见,我想提一下,我不想要同步过程或想要使用 gdata api 删除事件。
我只想删除本地日历事件。
我正在使用 Android 日历。如何使用代码删除日历事件?是否可以?
为了澄清起见,我想提一下,我不想要同步过程或想要使用 gdata api 删除事件。
我只想删除本地日历事件。
尝试使用事件 ID 的 Uri 删除事件。
Uri uri='URI OF THE EVENT';
getContentResolver().delete(uri, null, null);
一个简短的方法:
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);
}
没有“删除本地日历的事件”这样的概念:
虽然它不是 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