我知道这已被问过几次,但似乎并不是一个明确的答案。我试图删除一个重复事件的单个实例(我在第一个位置创建)。虽然不清楚采取哪种方法来做到这一点,但另一个SO帖子是有道理的 - Delete only one instance of a recurring event from my Android calendar - 更新排除日期,EXDATE。
我用UTC时间和默认时区都尝试了这个 - 在两种情况下返回值都是1,表示1行已更新,但事件实例不会消失。
ContentValues event = new ContentValues();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd'T'hhmmss'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
String str = sdf.format(beginTime.getTime());
//TimeZone timeZone = TimeZone.getDefault();
//event.put("eventTimezone", timeZone.getID());
event.put("exdate", str);
int numrows = getContentResolver().update(eventUri, event, "_id=? and calendar_id=?", new String[] {currentAppt.getCaleventid(), currentAppt.getCalendarid()});
Log.d(TAG, numrows + " rows updated - date was " + str);
我知道日历ID和事件ID是正确的,因为我可以毫无问题地删除所有事件。返回计数1也表示它正在查找要更新的行。
我做错了什么?