Bluetoothを使用して近くのペアリングされたデバイスに自動的に接続するアプリケーションを開発しています。そのため、ACTION_FOUND、DISCOVERY_FINISHEDなどのBluetooth固有のブロードキャストを聞く必要があります。これらのブロードキャストをリッスンし、それに応じてアクションを実行するブロードキャストレシーバーを登録する必要があります。このブロードキャストレシーバーは、アプリのバックグラウンドでいつでも機能する必要があります。私はそれをインテントサービスに適合させようとしましたが、それは速く終了し、onDestroyは私の受信機を終了すると呼ばれることがわかりました。この問題を克服するために、属性がtrueからfalseに変わったときにのみ中断する無限ループを挿入しました。どういうわけか、これは悪い習慣だと感じているので、もっと良い解決策があるかどうか尋ねています。
PS。レシーバーをメインアクティビティに合わせる必要がありますか?そして、それはいつ破壊されますか?onDestroyは、戻るボタンでアプリケーションを終了したとき、またはタスクキラーでプロセスを強制終了したときにのみ呼び出されますか、それともアプリで別のGUIウィンドウに入ったときにも発生しますか?
ありがとう、マイク