0

ユーザーが戻るボタンを押した後でも継続的に実行する必要があるアプリケーションがあります。POST メソッドを使用して、30 分ごとにリモート サーバーのデータベースにデータを送信する必要があります。これは、ユーザーが戻るボタンを押した後でも発生し、アプリはモバイルの電源がオフになったときにのみ停止する必要があります。

POST データを送信するように HTTP アダプターを設定し、起動時にアダプター プロシージャを呼び出す HTML ファイルも設定しましたが、バックグラウンドにする方法や、30 分ごとに POST データを送信し続けるために実行するコードがわかりません。

4

2 に答える 2

0

Androidで実行しているようです。

  1. Android で予期される動作は、[戻る] ボタンを押すとアプリケーションが終了することです。
  2. バックグラウンドへの移動は、ホームボタンを押すことで実行されます。

したがって、[戻る] ボタンを押すときにこれを行うべきではないと思います... または、少なくとも終了するかバックグラウンドに移動するかの選択肢をユーザーに提示する必要があります ( WL.Appを使用して [戻る] ボタンをオーバーライドできます) .overrideBackButton )。

とはいえ、終了する代わりにバックグラウンドに移行するプログラムによる方法については詳しくありません (既存の Cordova プラグインまたはこれを行う別の方法がある可能性があります)。

これを行うもう 1 つの方法は、Android バックグラウンド サービスを使用することですが、Worklight のネイティブ API では、これを行うためのサポートがありません。

Worklight アプリケーションがバックグラウンドにあるときに何が起こるかについては、私自身は試したことがないので、まったく確信が持てませんが、WL.Client.setHeartBeatIntervalを使用して Worklight Server への接続を維持し、いくつかのロジックを記述してみてください。アダプター要求を送信します。それがあなたのために働くかどうか見てください...


私はこれを見つけました: バックグラウンドでアプリケーションを実行するために phonegap でプラグインを作成する方法は?
おそらく、それを Worklight プロジェクトに組み込むことができるでしょう (上記のハートビート アプローチが機能しない場合)。

バックグラウンドでの実行に関する詳細:
Android:

iOS:

于 2013-07-05T17:11:39.603 に答える
-1

WL.App.overrideBackButton. を使用して [戻る] ボタンをオーバーライドし、そのメソッドの exit 関数を削除して空白のままにします (クリックしてもバックグラウンド プロセスが終了しないようにする場合)。

于 2013-07-05T21:07:26.537 に答える