javascript - Cordova - 原生日历集成

标签 javascript android jquery ios cordova

<分区>

您好,我正在为 iOS 和 Android 开发 phonegap 应用

我需要集成 Calendar API 以从 iOS 和 Android 访问日历

我已经尝试了一些插件,它没有达到我的要求。

我需要在 native 日历中添加事件、编辑/修改事件和删除事件

请多指教。

提前致谢。

最佳答案

试试这个,希望对你有帮助。

Github

var strCalender = { "summary": strEventName,"eventDesc": strCategoryName,"begin": new Date(y, m, d),"beginYear": y,"beginMonth": m,"beginDate": d,"endYear": y,"endMonth": m,"endDate": d,"end": new Date(y, m, d), "eventtype": "1", "categoury": strCategoryName, "venue": strVenue, "color": "blue", "eventtime": strTime, "eventDate": strDate, "eventdetails": strClickStrings }

calendarInNativeApp(strCalender);


function calendarInNativeApp(eventscalendar){
        var eventHours=eventscalendar.eventtime;
        eventHours=eventHours.split(":")[0];
        var eventMins=eventscalendar.eventtime;
        eventMins=eventMins.split(":")[1];
        var eventsInfo = eventscalendar;
        var startDate = new Date(eventsInfo.beginYear,eventsInfo.beginMonth,eventsInfo.beginDate,eventHours,eventMins,0,0,0); // beware: month 0 = january, 11 = december
        var endDate = new Date(eventsInfo.endYear,eventsInfo.endMonth,eventsInfo.endDate,23,59,0,0,0);
        var deleteStartDate = new Date(2015,5,10,18,30,0,0,0); // beware: month 0 = january, 11 = december
        var deleteEndDate = new Date(2015,5,10,19,30,0,0,0);
        var deleteTitle="Event4";
        var title = eventsInfo.summary;
        var eventLocation = eventsInfo.venue;
        var notes = eventsInfo.eventDesc;
        var success = function(message) {JSON.stringify(message); };
        var error = function(message) { message; };

        if(device.platform == "iOS"){
            var createCalOptions = window.plugins.calendar.getCreateCalendarOptions();
            createCalOptions.calendarName = "Calendar";
            createCalOptions.calendarColor = "#FF0000"; // an optional hex color (with the # char), default is null, so the OS picks a color
            createCalOptions.firstReminderMinutes = 120; // default is 60, pass in null for no reminder (alarm)
            createCalOptions.secondReminderMinutes = 5;
            window.plugins.calendar.createCalendar(createCalOptions,success,error);
            window.plugins.calendar.createEventInNamedCalendar(title,eventLocation,notes,startDate,endDate,"Calendar",success,error);
        }
        else if(device.platform == "Android"){
            var calOptions = window.plugins.calendar.getCalendarOptions(); // grab the defaults
            calOptions.firstReminderMinutes = 120; // default is 60, pass in null for no reminder (alarm)
            window.plugins.calendar.createEventWithOptions(title,eventLocation,notes,startDate,endDate,calOptions,success,error);
        }
    }

关于javascript - Cordova - 原生日历集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34128352/

相关文章:

javascript - 基于复选框将输入框值添加到现有对象

java - 更改对话框中的按钮文本颜色

java - Android 中的动画启动屏幕,无需制作启动 Activity

jquery - 淡入在 IE9 中不起作用

javascript - 从 Promise 返回非返回函数导致警告

Javascript .load() 函数未执行

javascript - 通过用户输入更改变量的值并在不同页面上重新使用它

javascript - JQuery 在创建 DOM 元素后做一些事情 - DOMNodeInserted 不工作

javascript - Android - 复选框不保存检查状态

android - 如何使单选按钮的图像居中?