0
私はプログラムでContentResolverを使用してユーザーのデフォルトカレンダーにいくつかのイベントを追加するアンドロイドアプリを開発しています。Androidカレンダーのカスタムイベントの色がデフォルト(青色)に変更され続ける
私は、イベントの種類に基づいてイベントの色を設定します(私の場合、休日は緑、平日は赤です)。これは正常に動作しますが、数分後にすべてのカスタムカラーリングが青色(デフォルトのGoogleカレンダーイベントカラー)に変わります。私はデバッグにNexus 5Xを使用しています。どのようにこれを解決するための任意のアイデア?
スクリーンショット: 前
後
コード:
// add work day event
if (DateFrom > today.getTimeInMillis() && WorkType == '0') {
ContentResolver cr = context.getContentResolver();
ContentValues values = new ContentValues();
values.put(CalendarContract.Events.DTSTART, DateFrom);
values.put(CalendarContract.Events.DTEND, DateTo);
values.put(CalendarContract.Events.TITLE, Team + " (Id: " + Id + ")");
values.put(CalendarContract.Events.DESCRIPTION, "Work Day.");
values.put(CalendarContract.Events.CALENDAR_ID, DEFAULT_CALENDAR_ID);
values.put(CalendarContract.Events.EVENT_TIMEZONE, TimeZone.getDefault().toString());
values.put(CalendarContract.Events.EVENT_COLOR, Color.RED);
Uri eventUri = cr.insert(CalendarContract.Events.CONTENT_URI, values);
long eventID = Long.parseLong(eventUri.getLastPathSegment());
}
// add day off event
if (DateFrom > today.getTimeInMillis() && WorkType == '2' && IsApproved != null && IsApproved.equals("true")) {
ContentResolver cr = context.getContentResolver();
ContentValues values = new ContentValues();
values.put(CalendarContract.Events.ALL_DAY, 1);
values.put(CalendarContract.Events.DTSTART, DateFrom + 3600000);
values.put(CalendarContract.Events.DURATION, "P23H");
values.put(CalendarContract.Events.TITLE, "Day Off!" + " (Id: " + Id + ")");
values.put(CalendarContract.Events.DESCRIPTION, "Day Off");
values.put(CalendarContract.Events.EVENT_COLOR, Color.GREEN);
values.put(CalendarContract.Events.CALENDAR_ID, DEFAULT_CALENDAR_ID);
values.put(CalendarContract.Events.HAS_ALARM, false);
values.put(CalendarContract.Events.EVENT_TIMEZONE, TimeZone.getDefault().toString());
Uri eventUri = cr.insert(CalendarContract.Events.CONTENT_URI, values);
long eventID = Long.parseLong(eventUri.getLastPathSegment());
}