我一直在使用PhoneGap的Android应用程序,现在想使它所以当应用程序被关闭它仍然可以在应用程序在执行java / js代码。 所以,我明白我需要创建一个服务。 如果我创建一个服务插件上的PhoneGap我还可以执行JavaScript代码或只是Java?
有没有人做这样的事情? 我发现这个讨论,但似乎工作不: http://groups.google.com/group/phonegap/browse_thread/thread/722b0e796baa7fc6所以这就是我现在所拥有的。
在我转向开发它原生,如果我不能弄清楚想我会问,如果有人已经这样做过。 我似乎无法找到任何与PhoneGap的插件,做同样的事情的。
编辑:我已经得到执行的Java代码作为一种服务的应用程序。 然而,当它调用sendjavascript这是行不通的。 那么,有没有办法有在后台运行,以及当一个应用程序与PhoneGap的关闭javascript代码?
谢谢
不,这是不可能在后台运行(至少在我看来)Javascript代码的服务。 PhoneGap的Android上使用称为特殊活动Droidgap ,它承载一个web视图。 该浏览器控件执行的JavaScript。 这意味着,JS执行可以在此活动中才处理的,不论它是可见或不可见。
你从谷歌论坛链接代码试图绑定用Java开发的DroidGap活动相关的服务,所以服务是不是在JS写的。
您可以从DroidGap活动产生你的孩子的活动中您的JS代码中的一些背景活动。 例如有一个后台线程在你的活动中,有一个JS回调函数,让线程中调用这个回调功能。
如果你真的需要一个服务,你必须入乡随俗。
更新:
JS代码只能与Droidgap活动执行。 活动可以有3种状态(基于activites的生命周期 ):
- 可见
- 看不见但仍然加载
- 不装
我提供了一种样品 ,其中我实现了一个PhoneGap的插件。 该插件允许活动本身注册SMS_RECEIVED。 当活动比较超出范围(事件onbeforeunload),将注销,那么唯一的问题1处理。
当你想处理的所有3个问题,你要转发接收到的SMS意图的活动。 当未加载它的系统会自动加载和启动活动。 但是,这不是一个后台服务了,只要接收到短信的应用程序将变得可见。
如果你不希望这样做(如果你真的想要一个后台服务),您必须提供本机实现。
有这篇文章就如何建立在Android上的PhoneGap服务这给你的问题,一些有用的信息。
为了容易建立与PhoneGap的后台服务它使用了一个伟大的插件。 但你不能用JS虽然
我没有找到一种方法,使JS在后台运行。 但你可以通过从Java参数JS,反之亦然插件...这是非常有用的。 你仍然需要尽管Java重写你的JS代码。 除非你有特殊原因,只是想JS来运行? (但不应该是...)
希望这可能是一些人访问这个页面是有用的。
是的,这是非常简单的...只是安装插件backgroundJS:
https://build.phonegap.com/plugins/430
它允许您运行在后台的JavaScript,并与本地通知插件相结合,你甚至可以在任何时候发送通知给用户,只需记住,这样做会导致电池快用完了,还认为这可能创建iOS的政策问题。 祝好运!!!
你可以尝试添加插件 科尔多瓦-插件,后台模式
但正如作者说:
无限后台任务不是官方支持的大多数移动操作系统,因此不会与公用存储供应商的标准。 一个成功的submssion不保证下,。 由您自担风险使用该插件!
文章来源: Creating an Android Service with Phonegap? (Have phonegap app run even when closed)