Delete calendar entries

I wrote simple code to delete all entries in the Android calendar, but did not delete anything.

Source:

public void DeleteEvent(View view){ int iNumRowsDeleted = 0; Uri eventsUri = Uri.parse("content://com.android.calendar/events"); Cursor cur = getContentResolver().query(eventsUri, null, null, null, null); while (cur.moveToNext()){ long id = cur.getLong(cur.getColumnIndex("_id")); Log.d(TAG, "ID: " + id); Uri eventUri = ContentUris.withAppendedId(eventsUri, id); iNumRowsDeleted = getContentResolver().delete(eventUri, null, null); } } 
+5
source share
2 answers

I use this to remove:

 private void deleteEvent(ContentResolver resolver, Uri eventsUri, int calendarId) { Cursor cursor; if (android.os.Build.VERSION.SDK_INT <= 7) { //up-to Android 2.1 cursor = resolver.query(eventsUri, new String[]{ "_id" }, "Calendars._id=" + calendarId, null, null); } else { //8 is Android 2.2 (Froyo) (http://developer.android.com/reference/android/os/Build.VERSION_CODES.html) cursor = resolver.query(eventsUri, new String[]{ "_id" }, "calendar_id=" + calendarId, null, null); } while(cursor.moveToNext()) { long eventId = cursor.getLong(cursor.getColumnIndex("_id")); resolver.delete(ContentUris.withAppendedId(eventsUri, eventId), null, null); } cursor.close(); } 

I call it something like this:

 Uri eventsUri; int osVersion = android.os.Build.VERSION.SDK_INT; if (osVersion <= 7) { //up-to Android 2.1 eventsUri = Uri.parse("content://calendar/events"); } else { //8 is Android 2.2 (Froyo) (http://developer.android.com/reference/android/os/Build.VERSION_CODES.html) eventsUri = Uri.parse("content://com.android.calendar/events"); } ContentResolver resolver = this.getContentResolver(); deleteEvent(resolver, eventsUri, calendarId); 
+5
source

use this code on the right

  public void DeleteEvent(int your_event_id){ int iNumRowsDeleted = 0; Uri eventsUri = Uri.parse("content://com.android.calendar/events"); Cursor cur = getContentResolver().query(eventsUri, null, null, null, null); while (cur.moveToNext()){ Uri eventUri = ContentUris.withAppendedId(eventsUri, your_event_id); iNumRowsDeleted = getContentResolver().delete(eventUri, null, null); } } 
0
source

Source: https://habr.com/ru/post/978466/


All Articles