Поскольку плагин Calendar-PhoneGap-Plugin не может редактировать события для Android, я использую плагин Cordova от Lampa в своем ионном проекте, чтобы вместо этого открыть календарь с помощью
onOpenCalendarEvent(calendarEvent: CalendarEvent) {
if (this.platform.is('ios')) {
var sApp = (window as any).startApp.set('calshow://');
sApp.start(
function() {
/* success */
},
function(error) {
/* fail */
alert(error);
}
);
} else {
var sApp = (window as any).startApp.set(
{
action: 'ACTION_MAIN',
category: 'CATEGORY_APP_CALENDAR',
intentstart: 'startActivity'
},
{
/* extras */
}
);
sApp.start(
function() {
/* success */
},
function(error) {
/* fail */
alert(error);
}
);
}
}
Для Android существует учебник длякалендарь намерений
https://www.grokkingandroid.com/intents-of-androids-calendar-app/
, который указывает на документы для Android о намерении редактирования
https://developer.android.com/guide/topics/providers/calendar-provider#intent-edit
Там это говорит
long eventID = 208;
...
Uri uri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
Intent intent = new Intent(Intent.ACTION_VIEW)
.setData(uri);
startActivity(intent);
CalendarEventId, который я на самом деле получаю от Calendar-PhoneGap-Plugin.Может кто-нибудь сказать мне, как правильно установить намерение выше?
Я хотел бы иметь возможность открыть родной календарь с определенным событием или даже правильный день на Android и IOS.