public void execute() { // Initialize a Reminder or more than one Reminders. boolean booleanReminder = false; if (mStrReminder.compareTo(mStrReminder) == 0) booleanReminder = true; Reminder[] reminders = new Reminder[1]; if (mStrMinute.compareTo("On day of event") == 0) { Date dateReminder = getDateTime(mStrStartTime); GregorianCalendar gregorianCalendarReminder = new GregorianCalendar(); gregorianCalendarReminder.setTime(dateReminder); mStrMinute = Integer.toString( gregorianCalendarReminder.get(Calendar.HOUR_OF_DAY) * 60 + gregorianCalendarReminder.get(Calendar.MINUTE)); } reminders[0] = new Reminder(mStrMinute, mStrMethod, booleanReminder); // Initialize a Recurrence. // Initialize a Where. Where where = new Where(mStrLocation); // Initialize a When. When when = new When( getStrDateWithTimeZone(mStrStartTime), getStrDateWithTimeZone(mStrEndTime), reminders); // Initialize an Event. Event event = new Event(mStrTitle, mStrContent, where, when); // Post to Calendar for adding a new event of default calendar. Event eventNew = null; try { eventNew = mCalendarServer.postEventEntry("", event); } catch (IOException e) { Bundle bundleSend = new Bundle(); eventNew = new Event(false); bundleSend.putSerializable("Data", eventNew); bundleSend.putInt("ErrorCode", Integer.parseInt(e.getMessage())); Intent intentSend = new Intent(IntentCommand.INTENT_ACTION); intentSend.setFlags(IntentCommand.GOOGLE_CALENDAR_ADD_EVENT); intentSend.putExtras(bundleSend); mBaseService.sendBroadcast(intentSend); return; } // Get a response from Calendar, the response is a event entry, update cache. if (eventNew != null) { Bundle bundleSend = new Bundle(); bundleSend.putSerializable("Data", eventNew); Intent intentSend = new Intent(IntentCommand.INTENT_ACTION); intentSend.setFlags(IntentCommand.GOOGLE_CALENDAR_ADD_EVENT); intentSend.putExtras(bundleSend); mBaseService.sendBroadcast(intentSend); } }