Android create calendar event

I need to create several calendar events for an Android application using question I managed to create one event.

Is there any example or guide for creating multiple calendar events?

Thanks Chandana

+3
source share
5 answers

put them in a function

like

public void calenderevent(Calendar begintime, Calendar endtime){

    Intent intent = new Intent(Intent.ACTION_EDIT);
    intent.setType("vnd.android.cursor.item/event");
    intent.putExtra("beginTime", begintime.getTimeInMillis());
    intent.putExtra("allDay", true);
    intent.putExtra("rrule", "FREQ=YEARLY");
    intent.putExtra("endTime", endtime.getTimeInMillis()+60*60*1000);
    intent.putExtra("title", "A Test Event from android app");
    startActivity(intent);
}
+6
source

Like ICS, there is a better answer, as described in the blog, now there is an official API.

Blog entry on calendar APIs in ICS

Here's the documentation on the .android.com developer site

Hooray!

+3
source

, Android Build Api 8 ICS 15.

        String[] calendarsProjection = {
                CalendarContract.Calendars._ID,
                CalendarContract.Calendars.CALENDAR_DISPLAY_NAME,
                CalendarContract.Calendars.ACCOUNT_NAME
            };

        String calName; 
        String calId = null; 
        Uri calendars= Uri.parse("content://com.android.calendar/events");
        Cursor managedCursor = managedQuery(calendars, calendarsProjection, null, null, null);
        if (managedCursor.moveToFirst()) 
        {

            int nameColumn = managedCursor.getColumnIndex("account_name"); 
            int idColumn = managedCursor.getColumnIndex("_id");
            do 
            {
                calName = managedCursor.getString(nameColumn);
                calId = managedCursor.getString(idColumn);
                Log.e("Calendar Id : ",""+calId+" : "+calName);

            }
            while (managedCursor.moveToNext());
        }


        long startMillis = 0;
        long endMillis = 0;
        Calendar beginTime = Calendar.getInstance();
        beginTime.set(2012, 6, 18, 13, 10, 10);
        startMillis = beginTime.getTimeInMillis();
        Calendar endTime = Calendar.getInstance();
        endTime.set(2012, 6, 18, 16, 10, 10);
        endMillis = endTime.getTimeInMillis();
        System.out.println("Date start :"+startMillis);
        System.out.println("Date start :"+endMillis);

        // Insert Event
        ContentResolver cr = getContentResolver();
        ContentValues values = new ContentValues();
        values.put(CalendarContract.Events.DTSTART, startMillis);
        values.put(CalendarContract.Events.DTEND, endMillis);
        values.put(CalendarContract.Events.TITLE, "Walk The Dog");
        values.put(CalendarContract.Events.DESCRIPTION, "My dog is bored, so we're going on a really long walk!");
        values.put(CalendarContract.Events.CALENDAR_ID, 1 );
        values.put(CalendarContract.Events.EVENT_TIMEZONE, "UTC");
        Uri uri = cr.insert(Uri.parse("content://com.android.calendar/events"), values);

//

+3
String[] calendarsProjection = {
           CalendarContract.Calendars._ID,
           CalendarContract.Calendars.CALENDAR_DISPLAY_NAME,
           CalendarContract.Calendars.ACCOUNT_NAME
       };

      String calName; 
            String calId = null; 
      Uri calendars= Uri.parse("content://com.android.calendar/events");
            Cursor managedCursor = managedQuery(calendars, calendarsProjection, null, null, null);
            if (managedCursor.moveToFirst()) 
            {

                int nameColumn = managedCursor.getColumnIndex("account_name"); 
                int idColumn = managedCursor.getColumnIndex("_id");
                do 
                {
                    calName = managedCursor.getString(nameColumn);
                    calId = managedCursor.getString(idColumn);
                    Log.e("Calendar Id : ",""+calId+" : "+calName);

                }
                while (managedCursor.moveToNext());
            }


      long startMillis = 0;
      long endMillis = 0;
      Calendar beginTime = Calendar.getInstance();
      beginTime.set(2012, 6, 18, 13, 10, 10);
      startMillis = beginTime.getTimeInMillis();
      Calendar endTime = Calendar.getInstance();
      endTime.set(2012, 6, 18, 16, 10, 10);
      endMillis = endTime.getTimeInMillis();
      System.out.println("Date start :"+startMillis);
      System.out.println("Date start :"+endMillis);

      // Insert Event
      ContentResolver cr = getContentResolver();
      ContentValues values = new ContentValues();
      values.put(CalendarContract.Events.DTSTART, startMillis);
      values.put(CalendarContract.Events.DTEND, endMillis);
      values.put(CalendarContract.Events.TITLE, "Walk The Dog");
      values.put(CalendarContract.Events.DESCRIPTION, "My dog is bored, so we're going on a really long walk!");
      values.put(CalendarContract.Events.CALENDAR_ID, 1 );
      values.put(CalendarContract.Events.EVENT_TIMEZONE, "UTC");
      Uri uri = cr.insert(Uri.parse("content://com.android.calendar/events"), values);
+1

Well .. the last 2 posts work fine in ICS, but not in others. I suggest this class from google code .

0
source

All Articles