处理重复数据的绝招,直接去访问当前的Instance中的数据:
Uri.Builder builder = CalendarContract.Instances.CONTENT_URI.buildUpon();
ContentUris.appendId(builder, Long.MIN_VALUE);
ContentUris.appendId(builder, Long.MAX_VALUE);
Cursor rruleCusor = getContentResolver().query(builder.build(), null,
CalendarContract.Instances.EVENT_ID + "="+id, null,null);
if(rruleCusor == null || rruleCusor.getCount() == 0){
Log.d(TAG,"empty.");
return;
}
Log.d(TAG,"rruleCusor:"+rruleCusor.getCount());
while (rruleCusor.moveToNext()){
long begin = rruleCusor.getLong(rruleCusor.getColumnIndex(CalendarContract.Instances.BEGIN));
Log.d(TAG,"begin:"+begin);
}
对重复数据进行操作的时候,无论是删除或者修改操作,日历里面的做法都是Instance中对应的一条数据删除,然后,再外面再新增一条相应的数据。