2013-01-20 19 views

回答

2

我假設你問的是當應用程序在後臺運行後臺進程。問題是PhoneGap中的JavaScript在應用程序處於後臺時不能運行。爲了提供後臺進程功能,您需要創建一個插件來管理後臺進程。

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

曾經有來自工作燈的一些文件有關創建PhoneGap的插件,工作燈應用中使用,但我似乎無法找到它。

已經有一個現有的插件來幫助Android的管理後臺進程

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

+0

感謝您的鏈接。我實際上正在做其他事情,並且爲電話插件添加了插件,並且能夠在worklight應用中實現它。它是Phonegap的通知插件 –

+0

有沒有辦法從本地進程調用工作燈適配器?或者請求只能通過JavaScript? –

+0

@HoucemBerrayana您可以直接向Worklight服務器發出HTTP請求以調用適配器。 Worklight JS API提供了一個圍繞該AJAX調用的包裝。一旦知道了URL和有效負載結構,就可以讓任何客戶端(本地或JS)發出相同的請求。 –

0

如果你正在談論應用程序的JavaScript部分,你可以使用setTimeout(function(){...},0);來分離一個線程。這是最接近後臺線程JavaScript的必須提供。當然,你可以看看網絡工作者,但這會讓事情變得更加複雜。

+0

,這是個好主意。但我寧願尋找我們在Android中稱爲服務的東西。即使應用程序未處於活動狀態,仍會繼續在後臺運行的進程 –

1

從技術上講,這聽起來像你描述的流程需要從JavaScript代碼運行的插件,並開始從服務在插件內。 這裏的異步問題可能有點棘手 - 因爲從插件到js的「返回」是異步的,而且本地代碼中的線程本身(服務)也是異步的。 那麼,它不足以同步運行您的本機代碼? (這將是同步的「相對」原生,但異步「相對」的JS)

的Android服務 - http://developer.android.com/guide/components/services.html