开发者

Is it possible to remove the Android calendar event

I am using the Android calendar. How can I remove a calendar event using code? Is it possible?

For clarification, I would like to mention that I don't wan开发者_JAVA技巧t a sync process or want to remove events using gdata api.

I only want to remove a local calendar event.


Try this to delete the event using Uri of the event id.

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


A short way:

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


There is no such concept as "remove local calendar's event":

  • There is no "local calendar". There is, at most, a cached representation of the user's Google Calendars.
  • The Calendar application is not part of the SDK


Though it is not part of the SDK you can access it, but access it at your own risk since it is not supported. A good tutorial that I followed are these links:

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

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

some good sample code: http://pastebin.com/jpnqTp1n

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜