PhoneGap / Cordova-Kalenderintegration (Android)

Ich erstelle eine Android-App mit PhoneGap (auch bekannt als Cordova) und habe Probleme, eine Kalenderintegration zum Laufen zu bringen.Haftungsausschluss: Ich bin sowohl für Android als auch für PhoneGap ein Neuling, bitte nehmen Sie mich mit.

Ich versuche nur, dem Kalender des Benutzers ein Ereignis hinzuzufügen. Im Anschlussdieses TutorialIch habe ein Plugin erstellt, das versucht, einen Kalender-Intent zu starten. Der Code sieht folgendermaßen aus:

public class CalendarPlugin extends Plugin {
public static final String NATIVE_ACTION_STRING="addToCalendar"; 
public static final String SUCCESS_PARAMETER="success"; 

@Override
public PluginResult execute(String action, JSONArray data, String callbackId) {
    if (NATIVE_ACTION_STRING.equals(action)) { 
        Calendar beginTime = Calendar.getInstance();
        beginTime.set(2012, 6, 19, 7, 30);
        Calendar endTime = Calendar.getInstance();
        endTime.set(2012, 6, 19, 8, 30);

        Intent calIntent = new Intent((Context) this.ctx, CalendarPlugin.class)
            .setAction(Intent.ACTION_INSERT)
            .putExtra(Events.TITLE, "A new event")
            .putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, true)
            .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginTime.getTimeInMillis())
            .putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime.getTimeInMillis());

        this.ctx.startActivity(calIntent);
        return new PluginResult(PluginResult.Status.OK, "Smashing success");
    }

return new PluginResult(PluginResult.Status.ERROR, "Didn't work bro");
}
}

Der Javascript-Code zum Aufrufen dieses Plugins ist Standard:

var CalendarPlugin = { 
    callNativeFunction: function (success, fail, resultType) { 
        if (cordova) {
            return cordova.exec( success, fail, 
                "org.myorg.appname.CalendarPlugin", 
                "addToCalendar", [resultType]);
        }
        else {
            alert("Calendar function is not available here.");
        }
    } 
};

Der Android-Code wird aufgerufen (mit einem Haltepunkt bestätigt). Das an den Javascript-Code zurückgesendete Ergebnis ist jedoch ein Fehler:

Explizite Aktivitätsklasse {org.myorg.appname / org.myorg.appname.CalendarPlugin} konnte nicht gefunden werden. Haben Sie diese Aktivität in Ihrer AndroidManifest.xml deklariert?

Das Hinzufügen zu AndroidManifest.xml wird im Tutorial nicht erwähnt, was mich zu der Annahme veranlasst, dass mir etwas fehlt (auch dasCalendarPlugin Der Code wird erfolgreich aufgerufenCalendarPlugin Klasse konnte nicht gefunden werden?). Wenn ja, muss ich hinzufügenCalendarPlugin Wie würde ich zum Manifest gehen, um das zu tun?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage