フォアグラウンドアプリケーションでなくても、私が書いているアンドロイドアプリが多量のバッテリーを消費するようです。私の前提は、アプリケーションがフォアグラウンドにないときに、gps、orientationなどのリスナーの登録を解除する必要があるということです。画面に表示されていないときは、Androidアプリが動作を停止する必要があります。
私は、さまざまな種類のアクティビティを切り替えていますが、その間に切り替える限り、リスナーの登録を解除しないようにしています。しかし、ユーザーが家を抱きしめて別のアプリに切り替えると(またはフォンコールが発生した場合など)、私のアプリは何もしないようにしたい。
アクティビティのすべてのオン*メソッドは、そのアクティビティに固有のものです。アプリケーションから完全に切り離すのを聞くにはどうしたらいいですか?
アクティビティが変更されたときにBroadcastReceiverを使用してコードを実行します。 – Phil