私のアプリケーションでは、基本的にバックグラウンドで実行される2つのタスクが必要です。 1つは、いくつかのデータをPHPサーバと同期し、値を送信し、ローカルデータベースを定期的に更新し、もう1つはメインスレッドから要求されたファイルをサーバからダウンロードし、ダウンロードが完了したときにUIに通知することです。Androidでバックグラウンドタスクを実装する方法
アプリがフォアグラウンドになっている間だけ、それらのことをしたいです。ユーザーが別のアプリを開くと、現在のトランザクションを終了し、リソースの消費を停止します。
この時点で、私はそれを実装する方法について少し失われています。私は決してサービスを使いませんでした。サービスが有効な解決策であるかどうかは分かりません。なぜなら、アプリケーションがバックグラウンドになったときにコードが実行されるようにするためにサービスが使用されるからです。
私が考えてきた他の解決策は、定期的に(たとえば20分)サーバーとの同期のためにスレッドを起動する何らかのHandlerを実装することです。ダウンロードが要求されたときにスレッドを起動し、最後にブロードキャストを送信する。
このソリューションについてはどうなりますか?有効ですか?はいの場合、ハンドラーの投稿を取り消すために、アプリケーション(アクティビティではない)がフォアグラウンドで停止したときをどうすれば検出できますか?あなたがサービスを選択した場合は、onHandleIntentを実装する場合、事前に
おかげで
解決策は見つかりましたか?はいの場合は共有できますか? – Prabhakar