2011-04-27 16 views
5

मैंने एंड्रॉइड कैलेंडर से सभी प्रविष्टियों को हटाने के लिए सरल कोड लिखा, लेकिन यह कुछ भी नहीं हटाया।कैलेंडर प्रविष्टियां हटाएं

स्रोत कोड:

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

धन्यवाद मैन @ हुस्की .. यह मेरे लिए काम कर रहा है :) –

उत्तर

5

मैं हटाने के लिए इस का उपयोग करें:

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

मैं कुछ इस तरह से कॉल करने की:

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); 
+0

धन्यवाद ... =) – Husky

+0

यहां कैलेंडर आईडी क्या है – AndroidDev

+0

एंड्रॉइड में कई कैलेंडर (और आमतौर पर) हो सकते हैं। कैलेंडर आईडी पूर्णांक है जो कैलेंडर का प्रतिनिधित्व करता है जिसका आप उपयोग करना चाहते हैं। –

0

उपयोग इस कोड को अपने अधिकार

 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); 
     } 
    } 
संबंधित मुद्दे