【问题标题】:Call Javascript function in background task in iOS在 iOS 的后台任务中调用 Javascript 函数
【发布时间】:2012-07-13 07:07:36
【问题描述】:

我有一个 phonegap 应用程序,我想在后台任务中执行 Javascript 代码。当应用程序进入后台时,我开始执行一个 javascript 函数,该函数从 web 数据库中取出数据并将一些值发送到 web 服务,返回的数据可能会向用户切换推送通知。

我发现了如何从 Objective-C here on Stackoverflow 调用 javascript 以及如何在 iOS SDK Documentation pages 中实现长时间运行的后台任务,但我没有找到任何将两者结合起来的东西(我认为例如:当我通过 webview 调用 javascript 代码,当应用程序在后台时,这个 View 是否存在?)所以我想问一些更有经验的 iOS 开发人员这是否可能。

【问题讨论】:

    标签: ios cordova webview


    【解决方案1】:

    我认为这不可能。 Javascript 需要 UIwebview 才能运行(实时)并且必须对用户可见。当应用程序置于后台时,仅允许运行少量任务 - webview 而不是其中一个。

    您最好将您的数据发送到运行 cron-job 或类似的网络服务器,以通过苹果推送通知服务器发送推送通知 - 您也可以绕过这个并使用像 http://urbanairship.com/ 这样的服务

    【讨论】:

    • 我现在就是这样。你证实了我的假设。不过我不使用城市飞艇,因为我读到免费计划每月减少到 1 个 Mio 通知。我在 Github 上使用 PushNotification 插件,链接:github.com/phonegap/phonegap-plugins/tree/master/iOS/…。还是谢谢。
    • 我也用过这个插件。。效果很好!
    【解决方案2】:

    我在 iOS 5+ 上对此进行了试验,这是可能的。我创建了一个小的 PhoneGap 插件来演示它是如何工作的。查看它,并查看自述文件以获取大部分信息。

    https://github.com/jocull/phonegap-backgroundjs

    【讨论】:

      猜你喜欢
      • 2016-04-18
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多