2010-04-30 70 views
0

我正在使用Android日历。我如何使用代码删除日历事件?可能吗?安卓日历删除事件

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

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

回答

2

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

  • 没有“本地日历”。至多有一个用户的Google日历的缓存表示。
  • 的日历应用程序是不是SDK
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://hanscappelle.blogspot.com/2011/03/android-calendar-api-glitches.html

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

3

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

Uri uri='URI OF THE EVENT'; 
getContentResolver().delete(uri, null, null); 
2

一个简短的方式:

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); 
}