2011-07-31 6 views
0

フォアグラウンドアプリケーションでなくても、私が書いているアンドロイドアプリが多量のバッテリーを消費するようです。私の前提は、アプリケーションがフォアグラウンドにないときに、gps、orientationなどのリスナーの登録を解除する必要があるということです。画面に表示されていないときは、Androidアプリが動作を停止する必要があります。

私は、さまざまな種類のアクティビティを切り替えていますが、その間に切り替える限り、リスナーの登録を解除しないようにしています。しかし、ユーザーが家を抱きしめて別のアプリに切り替えると(またはフォンコールが発生した場合など)、私のアプリは何もしないようにしたい。

アクティビティのすべてのオン*メソッドは、そのアクティビティに固有のものです。アプリケーションから完全に切り離すのを聞くにはどうしたらいいですか?

+0

アクティビティが変更されたときにBroadcastReceiverを使用してコードを実行します。 – Phil

答えて

2

私の前提は、アプリケーションがフォアグラウンドにないときにgps、orientationなどのリスナーの登録を解除する必要があるということです。

正しい。

私は、さまざまな活動をしていますが、私はそれを切り替えるとリスナーが私の間で切り替わる限り、登録を解除したくないです。

もちろんです。それぞれの活動は、単独で行われなければならず、周囲にある(またはそうでない)活動については何も仮定しないでください。あなたは、もしあなたが好きなら、あなたの活動のそれぞれに縛られたサービスにこの物を移すことを歓迎します。

私のアプリケーションから完全に切り離すのを聞くにはどうすればよいですか?

Androidにこのような概念はありません。

0

アクティビティのonpauseで登録を解除し、そのアクティビティのonresumeに登録することができます。それは私が通常gpsリスナを処理する方法です。

関連する問題