Проблема при создании напоминания о повторяющихся событиях в Календаре Google, таких как «два раза в день», «Трижды в день» - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь установить повторяющиеся напоминания для определенного события, как на картинке.Код работает правильно, но происходит что-то, что меняет события создания.Пожалуйста, проверьте детали, как показано ниже.

Если я попытаюсь установить напоминания из цикла, это работает, но с повторением есть проблема, как упомянуто.

It's correct time which is selected

Проверьте, что первые два напоминания, показанные на изображении, были точно рассчитаны по времени, когда они были установлены с использованием этого фрагмента кода.

, но примерно через 30 секунд все изменилось обратно на одно и то же время.Check Time For Events now

Я должен установить напоминания для различных событий, таких как два раза в день, трижды в день и все

Пожалуйста, проверьте фрагмент кода какниже (для события, происходящего два раза в день):

       Uri uri;
       Uri EVENTS_URI = Uri.parse(getCalendarUriBase().toString());
       Calendar current = Calendar.getInstance();
       current.setTimeInMillis(((TimeStamp.formatToSeconds(mBinder.etStartDate.getText().toString().trim(), DATE_FORMAT_FOR_SHIFT) + time) * 1000L));
       ContentResolver cr = mActivity.getContentResolver();
       ContentValues values = new ContentValues();
       TimeZone timeZone = TimeZone.getDefault();
       values.put("calendar_id", calId);
       values.put("title", getString(R.string.app_name) + " - " + mBinder.etSearch.getText().toString().trim());
       values.put("description", getString(R.string.app_name) + " - " + mBinder.etSearch.getText().toString().trim());
       values.put("eventLocation", "Medication Area");
       long startTime = ((TimeStamp.formatToSeconds(mBinder.etStartDate.getText().toString().trim(), DATE_FORMAT_FOR_SHIFT) + time) * 1000L);
       values.put(CalendarContract.Events.DTSTART, startTime);
        Calendar endDate = Calendar.getInstance();
       long endtime = (TimeStamp.formatToSeconds(mBinder.etEndDate.getText().toString().trim(), DATE_FORMAT_FOR_SHIFT) + time);
       endDate.setTimeInMillis(((TimeStamp.formatToSeconds(mBinder.etEndDate.getText().toString().trim(), DATE_FORMAT_FOR_SHIFT) + time) * 1000L));
       values.put(CalendarContract.Events.DURATION, "+PT30M");
       values.put("allDay", 0);
       values.put("rrule", "FREQ=DAILY;BYHOUR=18,6;UNTIL=20181129");
       values.put("eventTimezone", timeZone.getID());
       values.put(CalendarContract.Events.HAS_ALARM, 1);
       values.put(CalendarContract.Events.EVENT_COLOR, ContextCompat.getColor(getActivity(), R.color.app_purple));
       uri = cr.insert(EVENTS_URI, values);
       Log.e("Uri:::", uri.getLastPathSegment());

Спасибо.

1 Ответ

0 голосов
/ 22 ноября 2018

Если вы считаете, что причина проблемы связана с ошибкой в ​​самой службе, вы можете найти средство отслеживания ошибок , чтобы определить, является ли это известной проблемой.Если проблема совершенно новая, вы можете сообщить о ней и в трекере проблем .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...