Jon*_*ono 72 mobile android android-intent android-service cordova
我一直在使用Phonegap开发Android应用程序,现在想要关闭应用程序,它仍然可以在应用程序中执行java/js代码.所以我理解我需要创建一个服务.如果我在phonegap上创建服务插件,我仍然可以执行javascript代码或只执行java吗?
有没有人做过这样的事情?我找到了这个讨论,但似乎没有用:http://groups.google.com/group/phonegap/browse_thread/thread/722b0e796baa7fc6 这就是我现在所拥有的一切.
在我转向开发本土之前,如果我无法弄清楚它以为我会问以前是否有人这样做过.我似乎无法找到任何类似的手机插件插件.
编辑:我有一个应用程序执行Java代码作为服务.但是当它调用sendjavascript时它不起作用.那么有什么方法可以在后台运行javascript代码以及使用phonegap关闭应用程序时?
谢谢
Chr*_*ipp 56
不,不可能在后台运行Javascript代码(至少在我看来)作为服务.Android上的Phonegap使用名为Droidgap的特殊活动,该活动托管WebView.此浏览器控件执行JavaScript.这意味着JS执行只能在此活动内部处理,无论它是否可见.
您从Google网上论坛链接的代码尝试将使用Java开发的服务绑定到DroidGap活动,因此该服务不是用JS编写的.
您可以在源代码来自DroidGap活动的子活动中的JS代码中进行一些后台活动.例如,在您的活动中有一个后台线程,有一个JS回调函数,让线程调用这个回调函数.
如果你真的需要服务,你必须去当地.
更新:
JS代码只能在Droidgap活动中执行.活动可以有3种状态(基于活动的生命周期):
我提供了一个示例,其中我实现了一个Phonegap插件.该插件允许活动将自己注册到SMS_RECEIVED.当活动超出范围(事件onbeforeunload)时,它会取消注册,因此只处理问题1.
如果您希望处理所有3个问题,则必须将传入的SMS意图转发给活动.未加载时,系统将自动加载并激活活动.但这不再是后台服务,只要收到短信,您的应用就会变得可见.
如果您不想这样做(如果您真的想要后台服务),则必须提供本机实现.
| 归档时间: |
|
| 查看次数: |
66645 次 |
| 最近记录: |