2

Android で Worklight を使用しているときにバックグラウンド プロセス/サービスを実行する方法を教えてください。私は多くの場所を見てきましたが、これに関して役立つものは何も見つかりませんでした.

4

3 に答える 3

2

アプリがバックグラウンドにあるときにバックグラウンド プロセスを実行することについて質問していると仮定します。問題は、アプリがバックグラウンドにあるときに PhoneGap の JavaScript が実行されないことです。バックグラウンド プロセス機能を提供するには、バックグラウンド プロセスを管理するプラグインを作成する必要があります。

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

以前は、Worklight アプリで使用する PhoneGap プラグインの作成に関する Worklight のドキュメントがいくつかありましたが、見つからないようです。

Android でバックグラウンド プロセスを管理するための既存のプラグインが既に存在します

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

于 2013-01-20T18:32:24.507 に答える
1

技術的に言えば、説明したフローでは、javascript コードからプラグインを実行し、プラグイン内からサービスを開始する必要があるようです。ここでの非同期の問題は少しトリッキーかもしれません。プラグインから js への戻りは非同期ですが、ネイティブ コード内のスレッド自体 (サービス) も非同期であるためです。では、ネイティブ コードを同期的に実行するだけで十分ではないでしょうか? (これは、ネイティブに対しては「相対」同期ですが、js に対しては「相対」非同期になります)

Android サービス - http://developer.android.com/guide/components/services.html

于 2013-03-05T15:43:28.007 に答える
0

アプリケーションの JavaScript 部分について話している場合は、setTimeout(function(){...}, 0); を使用してスレッドを切り離すことができます。これは、JavaScript が提供しなければならないバックグラウンド スレッドに最も近いものです。もちろん、Web ワーカーを調べることもできますが、それでは事態が少し複雑になります。

于 2013-01-20T11:24:09.810 に答える