2016-09-18 7 views
0

LocationListenerを使用して現在のユーザーの場所を取得するサービスがあります。アクティビティのonDestroy()でサービスを停止しますが、このメソッドは、ユーザーがアプリケーションを終了するために戻るボタンを押すと呼び出されます。 ユーザーが戻るボタンを押して終了したときと、ホームボタンを押したときの両方でサービスを停止したいとします。しかし、私が知る限り、ホームボタンを傍受する方法はありません。人々はこの問題にどのように対処しますか? ユーザーがホームボタンを押した後に、場所リスナーを実行したままにするのは正常ですか?Androidのロケーションサービスがホームボタンで停止しない

答えて

0

onDestroy()の代わりにonPause()を使用します。

+0

しかし、これは1つのアクティビティから別のアクティビティに移動するときに呼び出されます。私はアプリケーションが開かれるたびに位置情報サービスが起動しているはずだと思いますか?ロケーションリスナーは20分ごとに私に新しい場所を知らせます。 hmm – Denominator

+0

これでアプリケーションクラスを作成し、それを使用してロケーションリスナーの寿命を制御することをお勧めします。 – Shmuel

+0

ActivityLifecycleCallbackを使用して、アクティビティがまだ実行中かどうかを判断し、最後のアクティビティが終了したらサービスを停止します。https:// baroqueworksdev .blogspot.com/2012/12/how-to-use-activitylifecyclecallbacks.html – Shmuel

関連する問題