2

您能否指导我在 Android 中使用 Worklight 时如何运行后台进程/服务?我查看了很多地方,但没有发现任何有用的信息。

4

3 回答 3

2

我假设您询问的是当应用程序在后台时运行后台进程。问题是当应用程序在后台时,PhoneGap 中的 JavaScript 不会运行。要提供后台进程功能,您需要创建一个插件来管理后台进程。

http://docs.phonegap.com/en/2.2.0/guide_plugin-development_index.md.html

Worklight 曾经有一些关于创建要在 Worklight 应用程序中使用的 PhoneGap 插件的文档,但我似乎找不到它。

已经有一个现有的插件来帮助管理 Android 中的后台进程

https://github.com/phonegap/phonegap-plugins/tree/master/Android/BackgroundService

于 2013-01-20T18:32:24.507 回答
1

从技术上讲,听起来您描述的流程需要从 javascript 代码运行插件,并从插件内启动服务。这里的异步问题可能有点棘手——因为“从”插件到 js 的返回是异步的,而且本机代码中的线程本身(服务)也是异步的。那么同步运行您的本机代码还不够吗?(这将是与本机同步的“相对”,但与 js 是异步的“相对”)

安卓服务 - http://developer.android.com/guide/components/services.html

于 2013-03-05T15:43:28.007 回答
0

如果您谈论的是应用程序的 JavaScript 部分,您可以使用 setTimeout(function(){...}, 0); 分离线程。这是 JavaScript 必须提供的最接近后台线程的东西。当然,您可以研究 web worker,但这会使事情变得更复杂一些。

于 2013-01-20T11:24:09.810 回答