我正在尝试为图像中的特定事件设置重复提醒。代码可以正常工作,但是正在发生某些事情正在更改创建事件。请检查以下详细信息。

如果我尝试从循环中设置提醒,它可以工作,但是由于重复发生,存在上述问题。

android - 在Google日历中为重复 Activity 创建提醒时出现问题,例如“一天两次”,“一天三次”-LMLPHP

使用此代码段设置它们时,请检查图像上显示的前两个提醒是否计时正确。

但是大约30秒后,一切又变回了同一时间。
android - 在Google日历中为重复 Activity 创建提醒时出现问题,例如“一天两次”,“一天三次”-LMLPHP

我必须针对不同事件设置提醒,例如每天两次,每天三次


  请检查以下代码片段(对于一天两次发生的事件):


       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());


谢谢。

最佳答案

如果您认为问题的原因是由于服务本身的错误引起的,则可以search the Issue Tracker确定是否是已知问题。如果问题是全新的,您也可以report it on the Issue Tracker

07-24 09:37
查看更多