У меня проблемы с поиском решения моей проблемы. Я пытаюсь добавить несколько событий в свой календарь Android, но не знаю, как это сделать. Я дал найденный код:
Calendar cal = Calendar.getInstance();
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("beginTime", cal.getTimeInMillis());
intent.putExtra("allDay", true);
intent.putExtra("rrule", "FREQ=YEARLY");
intent.putExtra("endTime", cal.getTimeInMillis()+60*60*1000);
intent.putExtra("title", "A Test Event from android app"+String.valueOf(i));
startActivity(intent);
, но все, что он делает, это отправляет меня в мой календарь и позволяет мне редактировать и вручную вставлять мое событие. Я хочу вставлять события автоматически, не заходя в приложение календаря. Более того, с помощью этого кода я могу добавить только одно событие. Это не то, что я хотел. У меня есть 2 массива String, один из которых содержит дату, а другой - имя события.Кто-нибудь знает, есть ли способ это сделать? Я долго искал решение и не нашел. Буду признателен, если мне кто-нибудь помог. Спасибо!
Я решил проблему! Большое спасибо! Но теперь у меня есть другая проблема, которую я не могу решить. У меня есть этот код:
ContentValues cv = new ContentValues();
cv.put("calendar_id", calIds[0]);
cv.put("title", title);
//cv.put("dtstart", dtstart );
//cv.put("dtend", dtend);
cv.put("rrule", "FREQ=MONTHLY");
cv.put("description", comment );
Calendar start = Calendar.getInstance();
start.set(2012, 0, 2, 8, 0, 0);
Calendar end = Calendar.getInstance();
end.set(2012, 0, 2, 9, 0, 0);
long startTime = start.getTimeInMillis();
long endTime = end.getTimeInMillis();
cv.put("dtstart", startTime);
cv.put("dtend", endTime);
//Insertion on the events of the calendar
cr.insert(Uri.parse("content://com.android.calendar/events"), cv);
Он вставляет мое событие, но не повторяется. Я имею в виду, что мое мероприятие появляется 2 января 2012 года, но 2 января 2013 года нет, как и в 2014 году, и так далее. Итак, я открыл свой календарь на телефоне и попытался отредактировать свое мероприятие, и я увидел, что там, где я должен выбрать его возникновение, он отображается 2 января 2012 года, а не 2 января, как должно быть, если бы это было для настройки моего мероприятия из моего Телефон. С другой стороны, если я пытаюсь добавить событие вручную со своего телефона, оно работает нормально (я имею в виду, что я могу добавить событие, которое происходит ежегодно).