Вставить несколько событий в календарь Android

У меня проблемы с поиском решения моей проблемы. Я пытаюсь добавить несколько событий в свой календарь 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 января, как должно быть, если бы это было для настройки моего мероприятия из моего Телефон. С другой стороны, если я пытаюсь добавить событие вручную со своего телефона, оно работает нормально (я имею в виду, что я могу добавить событие, которое происходит ежегодно).

7
задан Lara 1 January 2012 в 16:45
поделиться