カレンダーにすべての曜日のイベントを挿入するようにします。私はhttps://developer.android.com/guide/topics/providers/calendar-provider.htmlで与えられた例で始めました。これを終日使用するには、ALL_DAY
のコンテンツ値を追加し、タイムゾーンをUTCに設定します。私はfolowingコードで終わる:Androidカレンダープロバイダを使用して終日イベントを作成する
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);
は今、これは実際に仕事をしていませんが、DTEND
時間が冗長と本当に日付のみが必要な場合に無意味な開始時刻と終了時刻を設定するようです。 DTEND
の値を削除すると、例外java.lang.IllegalArgumentException: DTEND and DURATION cannot both be null for an event.
が発生します。適切な値は何でしょうか?上記のように恣意的であるか、またはこれは実際に意味のある情報で行うことができますか?
優れた答えです。ありがとうございました。 – jerry