Ich möchte, dass meine App ganztägige Ereignisse in den Kalender einfügt. Ich fing mit dem Beispiel an, das bei https://developer.android.com/guide/topics/providers/calendar-provider.html gegeben wurde. Um es den ganzen Tag zu machen, füge ich den ALL_DAY
Inhalt hinzu und setze die Zeitzone auf UTC. Ich am Ende mit dem Folowing Code:Erstellen ganztägiger Ereignisse mit Android-Kalenderanbieter
long calID = 3;
long startMillis = 0;
long endMillis = 0;
Calendar beginTime = Calendar.getInstance();
beginTime.set(2012, 9, 14, 7, 30);
startMillis = beginTime.getTimeInMillis();
Calendar endTime = Calendar.getInstance();
endTime.set(2012, 9, 14, 8, 45);
endMillis = endTime.getTimeInMillis();
ContentResolver cr = getContentResolver();
values.put(Events.ALL_DAY, 1)
ContentValues values = new ContentValues();
values.put(Events.DTSTART, startMillis);
values.put(Events.DTEND, endMillis);
values.put(Events.TITLE, "Jazzercise");
values.put(Events.DESCRIPTION, "Group workout");
values.put(Events.CALENDAR_ID, calID);
values.put(Events.EVENT_TIMEZONE, "UTC");
Uri uri = cr.insert(Events.CONTENT_URI, values);
Nun, dies macht tatsächlich den Job aber die DTEND
Zeit scheint überflüssig und Einstellung Start- und Endzeiten bedeutungslos, wenn es wirklich nur das Datum benötigt wird. Wenn ich den DTEND
Wert entferne, erhalte ich eine Ausnahme java.lang.IllegalArgumentException: DTEND and DURATION cannot both be null for an event.
. Was wären die richtigen Werte? Einfach beliebig wie oben oder könnte/sollte das eigentlich mit aussagekräftigen Informationen geschehen?
Ausgezeichnete Antwort. Vielen Dank. – jerry