private void addCalendarEvent() { // Peter: // http://code.tutsplus.com/tutorials/android-essentials-adding-events-to-the-users-calendar--mobile-8363 // Crashes: Intent intent = new Intent(Intent.ACTION_INSERT); // Crashes: intent.setData(CalendarContract.Events.CONTENT_URI); Intent intent = new Intent(Intent.ACTION_EDIT); // ACTION_INSERT causes crash intent.setType("vnd.android.cursor.item/event"); intent.putExtra(CalendarContract.Events.TITLE, "Restring: " + mRacket.getName()); StrngData c = mRacket.getStrngDataByLastDate(); // retrieve string data SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy"); if (c == null) { // No string data - use racket data intent.putExtra(CalendarContract.Events.EVENT_LOCATION, mRacket.getPurchaseLocation()); intent.putExtra( CalendarContract.Events.DESCRIPTION, "String Tension: " + mRacket.getStringTension()); } else { // Use string data intent.putExtra(CalendarContract.Events.EVENT_LOCATION, c.getLocation()); intent.putExtra( CalendarContract.Events.DESCRIPTION, "Last String Date: " + sdf.format(c.getDate()) + "\nMains: " + c.getMainTension() + "\nCrosses: " + c.getCrossTension()); } GregorianCalendar calDate = new GregorianCalendar(); // default to today's date intent.putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, true); intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, calDate.getTimeInMillis()); intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, calDate.getTimeInMillis()); startActivity(intent); }