我正在尝试为图像中的特定事件设置重复提醒。代码可以正常工作,但是正在发生某些事情正在更改创建事件。请检查以下详细信息。
如果我尝试从循环中设置提醒,它可以工作,但是由于重复发生,存在上述问题。
使用此代码段设置它们时,请检查图像上显示的前两个提醒是否计时正确。
但是大约30秒后,一切又变回了同一时间。
我必须针对不同事件设置提醒,例如每天两次,每天三次
请检查以下代码片段(对于一天两次发生的事件):
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。