Androidフォンから3台のBluetoothデバイスのステータスを監視したいアプリケーションがあります。このために、各デバイスにデータを送信し、5秒ごとに応答が正しいかどうかを確認する必要があります。そして、アプリケーションがフォアグラウンドにない場合でも、この処理を実行したいと思います。いろいろな解決策を考えましたが、良い解決策は思いつきませんでした。
IntentServiceを使うことを考えました。ただし、IntentServiceは、すべての処理を実行するために1つのスレッドを使用します。ただし、すべてのチェック間の5秒は短く、1つのスレッドでデバイスをチェックすることはできないため、3つの異なるスレッドが必要です。
3つの異なるIntentServicesを使用することを考えました。しかし、それが最善の方法であるかどうかはわかりませんか?
サービスを使用して、デバイスごとに1つずつ、3つのスレッドを生成することを考えました。しかし、アプリがフォアグラウンドにないときにこれらのスレッドが実行されるかどうかはわかりませんでした。
アプリがフォアグラウンドになく、3つの異なるスレッドを実行する必要がある場合でも、アプリでバックグラウンド処理を行うこの種のアプリを実行するための最良の設計は何でしょうか。