2011-04-26 161 views
0

我想从日历中删除所有日历条目,但此代码并未删除没有条目。删除日历中的所有条目

的源代码:

ContentResolver cr = getContentResolver(); 
         Uri CALENDAR_URI = Uri.parse("content://com.android.calendar/events"); 
         int id = 2; // calendar ID 
         Uri uri = ContentUris.withAppendedId(CALENDAR_URI, id); 
         cr.delete(uri, null, null); 

回答

1

首先,你的代码势必打破,因为日历API是不公开的。实际上,内容提供商在Android 2.1和2.2之间进行了更改,因此您的应用无法在所有手机上使用。

这就是说,我注意到在日历条目上的全部删除不起作用。首先需要执行查询以获取列表,然后单独删除它们。

请注意,如果删除太多,Android同步将会起作用。可能会有一个通知说,有太多的条目已被删除,并且处理您的请求(小时)可能需要很长时间。

+0

我试过这段代码:Uri eventsUri = Uri.parse(“content://com.android.calendar/events”); \t \t \t \t Uri eventUri = ContentUris.withAppendedId(eventsUri,2); (eventUri,null,null);但我不知道这个“2”是日历的id还是条目的id ContentUris.withAppendedId(eventsUri,>> 2 <<);我不知道这个“2”是否是日历的ID或条目ContentUris.withAppendedId(eventsUri,>> 2 <<);我不知道这个“2” – Husky 2011-04-26 18:47:52

+0

事件条目的ID。您查询事件,然后使用事件ID上的withAppendedId对每个事件调用delete。 – EboMike 2011-04-26 19:31:23