用PhoneGap / jQuery Mobile以编程方式在iPhone / Android日历中添加事件?

如何从iOS / Android中的JavaScript / jQuery Mobile / PhoneGap应用程序创build日历事件?

有没有,例如,PhoneGap插件? 在官方存储库中没有看到任何内容。

  • 对于iOS,Event Kit框架(iOS 4.0+)似乎可以添加一个事件 。

Solutions Collecting From Web of "用PhoneGap / jQuery Mobile以编程方式在iPhone / Android日历中添加事件?"

根据下面的评论, 现在可以为iOS创build一个iCal文件,为Android创build一个vcs文件 。 这将需要浏览器/设备嗅探,或给用户的select,但至less应该是可能的。

我意识到这是老问题,但现在有插件 。 它有它的缺点,但工作。 在编写的时候,它支持以下function:

  • iOS支持:创build(静默),更新(静默)和删除(静默)事件
  • Android> = 4:创build(交互式和静默),更新(不支持),删除(静默)事件
  • Android <4:创build(交互式),更新(不支持),删除(不支持)事件

下面的代码示例:

var startDate = new Date(2014,2,15,18,30,0,0,0); var endDate = new Date(2014,2,15,19,30,0,0,0); var title = "My nice event"; var newTitle = "My new nice event"; var location = "Home"; var notes = "Some notes about this event."; var success = function(message) { alert("Success: " + JSON.stringify(message)); }; var error = function(message) { alert("Error: " + message); }; window.plugins.calendar.createEvent(title,location,notes,startDate,endDate,success,error); window.plugins.calendar.modifyEvent(title,location,notes,startDate,endDate,newTitle,location,notes,startDate,endDate,success,error); window.plugins.calendar.deleteEvent(newTitle,location,notes,startDate,endDate,success,error); 

PhoneGap目前的发展路线图不包括日历支持。 但是,有很多要求。 看到这个名为“ 日历插件下面的W3C日历API ”这个post指向PhoneGap的日历插件项目 ,其中包括一些Android的初始日历支持。

使用最新的API将事件添加到iOS日历非常简单。 但是,您需要创build自己的插件才能完成。

因为这是平台特定的,在有官方的PhoneGap插件之前会过去的时间。

我发现了针对Android和iOS的插件,但它们没有相同的JavaScript API,因此您必须为两个系统编写不同的代码或添加另一个图层。 他们也不是最新的,需要修复与cordova2.2.0运行。 让事情变得更糟的文档是有点简短:

Android的

Dcheng的Android插件是能够创build,删除和search日历事件,但完全过时,将不能正常工作。 使用Android 4.0有一个日历提供程序 ,使事情变得更容易,但仍然没有find一个好的插件。 jbajor只能添加事件和扭曲而仅显示search事件。

iOS版

Felixactv8的iOS插件能够创build,删除和search日历事件。 注意,在iOS中没有事件ID,所以search你的事件将是有趣的。 作者解释了如何在xcode中添加两个需要的框架:

iphone日历使用2个框架,EventKit.framework和EventKitUI.framework。

如果你点击xcode图标,你会看到项目图标和目标图标。 点击目标图标,然后点击构build阶段。 点击下拉菜单“链接二进制库”,点击窗口底部的加号,然后search这两个框架,添加这两个框架,重build项目并运行它。