私はサービスの使い方を学んでいるところですが、行き詰まっています。
IntentService
ファイルのキューをダウンロードするために使用するものがあります。Activity
ダウンロードするファイルのオンとオフを切り替えることができる機能があります。ファイルのダウンロードが完了したら、のブール値を更新しますSharedPreferences
。2つの質問/問題があります:
サービスを開始した元のアクティビティがなくなっている可能性がありますが、そのアクティビティの新しいインスタンスが開始されている可能性があります。その場合、SharedPreferencesを確認し、それに応じてUIを更新するために、そのアクティビティにメッセージを送信する必要があります。したがって、私の質問は次のとおりです。実行されている場合と実行されていない場合があるアクティビティにメッセージを送信するにはどうすればよいですか?
アクティビティは、サービスの実行中にダウンロードする必要のあるファイルのオンとオフを切り替えることができます。これにより、いくつかの状況が発生します。サービスが実行されておらず、ファイルがオンになっている場合は、このファイルをキューに追加してサービスを開始します。サービスが実行されていてファイルがオンになっている場合は、ファイルをキューに追加するだけです。サービスが実行されておらず、ファイルがオフになっている場合、私はすでにそれを削除する方法を持っています。ただし、サービスが実行中でファイルをダウンロードしていない場合は、ファイルをキューから削除するか、現在ダウンロードしている場合は、ダウンロードを停止します。SharedPreferencesにダウンロードする必要のあるファイルを保持しているので、SharedPreferencesを確認するメッセージをサービスに送信することで、これらすべてをカバーできると思います。これは私の2番目の質問につながります:サービスが実行されているかどうかを確認し、実行されている場合はメッセージを送信するにはどうすればよいですか?