События, добавленные в календарь Android, автоматически исчезают через несколько секунд? - PullRequest
2 голосов
/ 13 марта 2019

Я хотел создать событие в календаре 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...