Я хотел создать событие в календаре Google. Следующий код успешно создал событие, а также я могу получить идентификатор созданного события. Когда я открываю календарь Google, я вижу событие только в течение нескольких секунд. Через некоторое время оно исчезает. Что не так?
try {
long startMillis = 0L;
long endMillis = 0L;
try {
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy HH:mm a", Locale.getDefault());
String startDate = estimationListItems.geteSStart();
startMillis = sdf.parse(startDate).getTime();
String endDate = estimationListItems.geteSEnd();
endMillis = sdf.parse(endDate).getTime();
AppLogger.e("startMillis : " + startMillis);
AppLogger.e("endMillis : " + endMillis);
} catch (ParseException pe) {
pe.printStackTrace();
AppLogger.e("ParseException : " + pe.getMessage());
}
ContentResolver cr = context.getContentResolver();
ContentValues values = new ContentValues();
values.put(CalendarContract.Events.DTSTART, startMillis);
values.put(CalendarContract.Events.DTEND, endMillis);
values.put(CalendarContract.Events.TITLE, estimationListItems.getDisplayEId());
values.put(CalendarContract.Events.DESCRIPTION, estimationListItems.getEuAddress());
values.put(CalendarContract.Events.CALENDAR_ID, calendarId);
values.put(CalendarContract.Events.ALL_DAY, false);
values.put(CalendarContract.Events.EVENT_TIMEZONE, TimeZone.getDefault().getID());
Uri uri = cr.insert(CalendarContract.Events.CONTENT_URI, values);
long eventID = Long.parseLong(uri.getLastPathSegment());
AppLogger.e(" Event added: " + eventID);
syncCalendar(context, String.valueOf(calendarId));
} catch (SecurityException se) {
se.printStackTrace();
}
После добавления события я синхронизирую календарь.
private void syncCalendar(Context context, String calendarId) {
Uri CALENDAR_URI = Uri.parse("content://com.android.calendar/calendars");
ContentResolver cr = context.getContentResolver();
ContentValues values = new ContentValues();
values.put(CalendarContract.Calendars.SYNC_EVENTS, 1);
values.put(CalendarContract.Calendars.VISIBLE, 1);
AppLogger.e("syncCalendar Success");
cr.update(
ContentUris.withAppendedId(CALENDAR_URI, Long.parseLong(calendarId)), values, null, null);
}