У меня проблемы с поиском решения моей проблемы. Я пытаюсь добавить несколько событий в календарь 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 строковых массива, один из которых содержит дату, а другой - название события.
Кто-нибудь знает, есть ли способ сделать это? Я долго искал решение и не нашел его. Буду благодарен, если кто-нибудь мне поможет. Спасибо!
Я решил проблему! Большое спасибо! Но теперь у меня есть еще одна проблема, которую я не могу решить.
У меня есть этот код:
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);
Он вставляет мое событие, но не повторяет его. Я имею в виду, что мое событие появляется на 2jan2012, а на 2jan2013 - нет и не появляется в 2014 году, и так далее. Таким образом, я открыл свой календарь на телефоне и попытался отредактировать свое событие, и я увидел, что там, где я должен выбрать его событие, там он отображается 2 января 2012 года, а не 2 января, как должно было бы быть, если бы он настраивал мое событие из моего Телефон. С другой стороны, если я пытаюсь добавить событие вручную со своего телефона, это работает очень хорошо (я имею в виду, я могу добавить событие, которое происходит ежегодно).