アプリケーションが使用されているときにのみポーリングすることを計画している場合は、setInterval()
かなりうまく機能します。私のアプリケーションは jQuery Mobile を使用しています。これは、デフォルトではページ全体をリロードするのではなく DOM のみを更新するため、setInterval()
一度開始すると実行し続けます。
Android はすでにバックグラウンド サービスをサポートしており、これを使用して長時間実行される継続的なタスクを実行できます。
上記の組み合わせで使用した1つのソリューション:
- アプリの実行中は、
setInterval()
定期的に更新を確認するために使用します。
- 更新チェックを開始する前に、アプリケーションが実行されているかどうかをバックグラウンドでチェックします
- アプリが実行されていない場合は、バックグラウンド サービス コードを使用して、サーバーに更新があるかどうかを確認します。
- 更新がある場合は、システムトレイ通知を配置して、ユーザーを待っている更新があることをユーザーに通知します
- 彼がアプリケーションを起動するとすぐに、サービスを呼び出して更新を取得します。
このようにして、メイン ロジックは Javascript 側に残り、Javascript とネイティブの両方で同じロジックを再度記述する必要がなくなります。
更新があまり頻繁でない場合は、使用を検討する必要がありますPushNotification