我有一个phonegap应用程序,我想在后台任务中执行Javascript代码。当应用程序进入后台时,我开始执行一个javascript函数,该函数从Web数据库中取出数据并将一些值发送到Web服务,返回的数据可以将推送通知切换到用户。
我找到了如何从Objective-C here on Stackoverflow调用javascript以及如何在iOS SDK Documentation pages中实现长时间运行的后台任务,但是我没有找到任何结合两者的东西(我认为例如:当我通过webview调用javascript代码时,当应用程序处于后台时,这个View是否存在?)所以我想问一些更有经验的iOS开发人员,如果这是可能的话。
答案 0 :(得分:1)
我认为它真的不可能。 Javascript需要UIwebview(实时)运行,并且必须对用户可见。当应用程序放在后台时,只允许运行少量任务 - webview而不是其中之一。
最好将数据发送到运行cron-job或类似工作的Web服务器,以通过apple推送通知服务器发送推送通知 - 您也可以绕过此操作并使用http://urbanairship.com/等服务
答案 1 :(得分:1)
我在iOS 5+上进行了实验,这是可能的。我创建了一个小型的PhoneGap插件,演示了它是如何工作的。查看它,并查看README以获取大部分信息。