Android 无法创建cordova插件

Android 无法创建cordova插件,android,cordova,Android,Cordova,我是Android开发新手。我正在使用PhoneGap进行Android开发。我正在创建一个CalendarEvent插件,并出现以下错误。我不知道为什么会发生这种错误 05-21 22:39:12.171: W/dalvikvm(516): VFY: unable to resolve direct method 345: Landroid/webkit/WebView;. (Landroid/content/Context;Landroid/util/AttributeSet;IZ)V 这

我是Android开发新手。我正在使用PhoneGap进行Android开发。我正在创建一个
CalendarEvent
插件,并出现以下错误。我不知道为什么会发生这种错误

05-21 22:39:12.171: W/dalvikvm(516): VFY: unable to resolve direct method 345: Landroid/webkit/WebView;. (Landroid/content/Context;Landroid/util/AttributeSet;IZ)V 这是插件代码:

package com.redobot.plugin;
导入java.text.ParseException;
导入java.text.simpleDataFormat;
导入java.util.Calendar;
导入java.util.Date;
导入java.util.Locale;
导入java.util.TimeZone;
导入org.apache.cordova.api.Plugin;
导入org.apache.cordova.api.PluginResult;
导入org.json.JSONArray;
导入org.json.JSONException;
导入android.content.Intent;
导入android.provider.CalendarContract.Events;
公共类日历插件扩展插件{
最终静态字符串ISO8601DATEFORMAT=“yyyy-MM-dd'T'HH:MM:ssZ”;
@凌驾
公共PluginResult execute(字符串操作、JSONArray参数、最终字符串回调ID){
if(action.equals(“createEvent”)){
试一试{
this.createEvent(args.getString(0)、args.getString(1)、args.getString(2)、args.getString(3)、args.getString(4));
}捕获(JSONException e){
e、 printStackTrace();
}
返回新的PluginResult(PluginResult.Status.OK,true);
}
返回新的PluginResult(PluginResult.Status.OK,false);
}
私有void createEvent(字符串标题、字符串位置、字符串描述、字符串开始日期、字符串结束日期){
Calendar calendarStart=CalendarPlugin.getCalendarFromISO(startDate);
Calendar calendarEnd=CalendarPlugin.getCalendarFromISO(endDate);
意向意向=新意向(意向.行动\编辑);
intent.setType(“vnd.android.cursor.item/event”);
意向。额外(事件。标题,标题);
intent.putExtra(Events.EVENT_位置,位置);
intent.putExtra(Events.DESCRIPTION,DESCRIPTION);
intent.putExtra(“beginTime”,calendarStart.getTimeInMillis());
intent.putExtra(“endTime”,calendarEnd.getTimeInMillis());
this.cordova.getActivity().startActivity(intent);
}
公共静态日历getCalendarFromISO(字符串dateString){
dateString=dateString.trim().replaceAll(“:00$”,“00”);//更改SimpleDataFormat的格式
Calendar Calendar=Calendar.getInstance(TimeZone.getDefault(),Locale.getDefault());
SimpleDataFormat dateformat=新的SimpleDataFormat(ISO8601DATEFORMAT,Locale.getDefault());
试一试{
Date=dateformat.parse(日期字符串);
日历。设置时间(日期);
}捕获(解析异常){
e、 printStackTrace();
}
返回日历;
}
}

请告诉我哪里错了。我搜索了一下,但没有得到任何有用的帮助。

我用运行安卓4.2.2的Nexus 7设备测试了这段代码,创建了Cordova 2.6应用程序并运行了它,一切正常。我必须将它添加到config.xml:
并将代码添加到
ondevicerady()检查中,但除此之外,没有问题

window.createEvent = function(title, location, description, startDate, endDate) {
    return cordova.exec(function(arg){}, function(error){}, 'CalendarPlugin', 'createEvent', 
           [title, location, description, startDate, endDate]);
};

var title = "Test Event";
var location = "Nashville, TN";
var description = "Very interesting event.";
var startDateTime = "2015-09-09T16:00:00-06:00"; // ISO 8601 date
var endDateTime = "2015-09-09T18:00:00-06:00";

window.createEvent(title, location, description, startDateTime, endDateTime);