Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The JS should look like:</p> <pre><code>window.addcalendareventplugin = function(startDate, endDate, allDay, successCallback){ //call the Plugin execute method() cordova.exec(successCallback,function(err){ console.log('Error: ' + err); },"CalendarEventPlugin","addCalendarEvent",[startDate, endDate, allDay]); } </code></pre> <p>and the Java should look like:</p> <pre><code>package org.apache.cordova.plugin; import java.util.Calendar; import org.json.JSONArray; import org.json.JSONException; import org.apache.cordova.api.CallbackContext; import org.apache.cordova.api.CordovaPlugin; import android.content.Intent; import android.provider.CalendarContract; import android.provider.CalendarContract.Events; public class CalendarEventPlugin extends CordovaPlugin { @Override public boolean execute(String action, JSONArray data, CallbackContext callbackContext) throws JSONException { if (action.equals("addCalendarEvent")) { if(data.length() &gt; 0) { //if you are passing some data eg. start,end date, all day and parameters for the Calendar //from plugin's javascript interface then you can retrieve and parse the data from data[] here. String startDate = data.getString(0); String endDate = data.getString(1); String allDay = data.getBoolean(2); if(this.addCalendarEvent()) { callbackContext.success("Done!!"); } else { callbackContext.error("Error!!"); } } return true; } return false; } private boolean addCalendarEvent(){ Boolean ret = false; try{ Calendar beginTime = Calendar.getInstance(); //the begin time and end time can come from javascript if user enters this values in a form beginTime.set(2013, 1, 20, 7, 30); Calendar endTime = Calendar.getInstance(); endTime.set(2013, 1, 20, 8, 30); //set your own time here and above as well or you can get the current time. Intent intent = new Intent(Intent.ACTION_EDIT); intent.setType("vnd.android.cursor.item/event"); intent.setAction(Intent.ACTION_INSERT); intent.putExtra(Events.TITLE, "A new event"); //can come from javascript. intent.putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, true); intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginTime.getTimeInMillis()); intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime.getTimeInMillis()); this.cordova.startActivityForResult(this, intent, 0); ret = true; } catch(Exception e){ e.printStackTrace(); ret = false; } return ret; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload