私は近くのペアデバイスに自動的に接続するためにBluetoothを使用しているアプリケーションを開発しています。そのため、ACTION_FOUND、DISCOVERY_FINISHEDなどの特定のブロードキャストを聞く必要があります。ブロードキャストを受信するブロードキャスト受信機を登録して、それに応じて処理を実行する必要があります。私は、この放送受信機が私のアプリのバックグラウンドでいつでも動作する必要があるということです。私はそれをインテントサービスに合わせようとしましたが、それは速く終わったことが判明し、onDestroyはレシーバーを終了させると呼ばれています。この問題を克服するために、属性がtrueからfalseに変わったときにのみ壊れる無限ループを挿入しました。どういうわけか、これは悪い習慣だと感じています。より良い解決策があるかどうか尋ねています。ブロードキャスト受信機はどこに登録すればよいですか?
PS。受信機をメインのアクティビティに合わせるべきですか?それはいつ破壊されるのですか?戻るボタンでアプリケーションを終了したとき、またはタスクキラーでプロセスを終了したときにのみonDestroyが呼び出されますか?また、アプリケーションに別のGUIウィンドウを入力したときにも発生しますか?
おかげで、マイク
は、ここでは1がより多くの情報を見つけるかもしれない、ありがとう: http://www.vogella.de/articles/AndroidServices/article.html – Miky
@Jong uが任意のアイデアの問題を持っていますここに記載http://stackoverflow.com/q/20904455/2624806 – CoDe