// Teil 1: Kalender ID selektieren // ---------------------------------- ContentResolver resolver = getContentResolver(); String[] projection = { Calendars._ID, Calendars.CALENDAR_DISPLAY_NAME }; Cursor cursor = resolver.query(Calendars.CONTENT_URI, projection, null, null, null); long calenderId; if (cursor.moveToNext()) { calenderId = cursor.getLong(0); String name = cursor.getString(1); Log.i("My", "Kalender ID " + calenderId + ": " + name); } else { throw new RuntimeException("Kein Kalender verfuegbar"); } // Teil 2: Termin hinzufuegen // ---------------------------------- long now = System.currentTimeMillis(); long startMillis = now + 60 * 60 * 1000; long endMillis = startMillis + 60 * 60 * 1000; ContentValues values = new ContentValues(); values.put(Events.CALENDAR_ID, calenderId); values.put(Events.DTSTART, startMillis); values.put(Events.DTEND, endMillis); values.put(Events.EVENT_TIMEZONE, "CET"); values.put(Events.TITLE, "App entwicklen"); values.put(Events.DESCRIPTION, "Mit Android 4.0 APIs"); Uri eventUri = resolver.insert(Events.CONTENT_URI, values); long id = Long.parseLong(eventUri.getLastPathSegment()); Log.i("My", "Neues Event mit ID " + id + " hinzugefuegt"); // Teil 3: Termininstanzen ausgeben // ---------------------------------- Uri.Builder builder = Instances.CONTENT_URI.buildUpon(); ContentUris.appendId(builder, now); ContentUris.appendId(builder, now + 200l * 24 * 60 * 60 * 1000); projection = new String[] { Instances.EVENT_ID, Instances.BEGIN, Instances.TITLE }; cursor = resolver.query(builder.build(), projection, null, null, null); while (cursor.moveToNext()) { long eventId = cursor.getLong(0); Date date = new Date(cursor.getLong(1)); String title = cursor.getString(2); Log.i("My", "Event ID " + eventId + ": " + title + " (" + date + ")"); } // Teil 4: Angelegten Termin wieder loeschen // ---------------------------------- int deleteCount = getContentResolver().delete(eventUri, null, null); Log.i("My", "Termine geloescht: " + deleteCount);