第一步:
按照 http://blog.youkuaiyun.com/u010919133/article/details/51507343 上创建一个android project
第二步:
已完成的project结构预览
第三步:create MyPlugin.java文件
packageoo.mobile;
importandroid.content.Intent;
importorg.apache.cordova.CallbackContext;
importorg.apache.cordova.CordovaPlugin;
importorg.json.JSONArray;
importorg.json.JSONException;
importorg.json.JSONObject;
/*** Created by admin on 2016/5/27.*/public classMyPlugin extendsCordovaPlugin {
public static finalString ACTION_ADD_CALENDAR_ENTRY= "addCalendarEntry";
@Overridepublic booleanexecute(String action, JSONArray args, CallbackContext callbackContext) throwsJSONException {
try{
if(ACTION_ADD_CALENDAR_ENTRY.equals(action)) {
JSONObject arg_object = args.getJSONObject(0);
Intent calIntent = newIntent(Intent.ACTION_EDIT)
.setType("vnd.android.cursor.item/event")
.putExtra("beginTime", arg_object.getLong("startTimeMillis"))
.putExtra("endTime", arg_object.getLong("endTimeMillis"))
.putExtra("title", arg_object.getString("title"))
.putExtra("description", arg_object.getString("description"))
.putExtra("eventLocation", arg_object.getString("eventLocation"));
this.cordova.getActivity().startActivity(calIntent);
callbackContext.success();
return true;
}
callbackContext.error("Invalid action");
return false;
} catch(Exception e) {
System.err.println("Exception: "+ e.getMessage());
callbackContext.error(e.getMessage());
return false;
}
}
}
第四步:在config.xml注册MyPlugin
在里面添加如下代码:
添加的代码(需要注意的是你的packge name!!!!!):
添加后如图所示
第五步:在assets/www/js文件夹下创建carrier.js(名字你喜欢就行)
varcalendarPlugin = {
createEvent: function(title, location, notes, startDate, endDate, successCallback, errorCallback) {
cordova.exec(
successCallback, // success callback functionerrorCallback, // error callback function'MyPlugin', // mapped to our native Java class called "CalendarPlugin"'addCalendarEntry', // with this action name[{ // and this array of custom arguments to create our entry"title": title,
"description": notes,
"eventLocation": location,
"startTimeMillis": startDate.getTime(),
"endTimeMillis": endDate.getTime()
}]
);
}
}
第六步:下面是index.html的实现(红色部分是添加的代码)
Hello WorldCarrier Code!
function addToCal() {
var startDate = new Date("July 19, 2013 8:00:00");
var endDate = new Date("July 19, 2013 18:00:00");
var notes = "Arrive on time, don't want to miss out (from Android)";
var title = "PhoneGap Day";
var location = "Portland, OR";
var notes = "Arrive on time, don't want to miss out!";
var success = function() { alert("Success"); };
var error = function(message) { alert("Oopsie! " + message); };
calendarPlugin.createEvent(title, location, notes, startDate, endDate, success, error);
}
效果图