2016-11-09 7 views
0

ロケーションマネージャのアップデートに問題があります。アクティビティを終了するたびに、または終了するたびに、アプリロケーションマネージャーはロケーションの更新を続けます。アップデートを削除した後でロケーションマネージャを更新する

私は、ディスプレイがそのように私は、私は戻って押すか、アプリ終了での活動を終了した後も、 onBackPressed()方法芽に locationManager.removeUpdates(this);を入れている

@Override 
protected void onPause() { 
    super.onPause(); 
    if (this.isFinishing()) { 
     locationManager.removeUpdates(this); 
     } 
} 

を使用オフにするとアプリが位置を更新し続けるたかった

マネージャーは更新を要求しています。

答えて

0

参照Understanding of isFinishing()
ユーザーが別のアプリケーションに切り替えると、リソースを解放する必要があるまでアプリケーションがOSによって強制終了されるとは限りません。したがって、isFinishing()はonPause()が呼び出されている間にtrueを再実行することがあります。
その後、OSがアプリを強制終了すると、アプリはすでにバックグラウンドであるため、onPause()は呼び出されません。
onStop()コールを使用してください。

+0

悲しいことに、これはうまくいきませんでした。何らかの理由で私がメインアクティビティに戻るために戻るボタンを押したときに、ロケーションマネージャはロケーションを更新し続けます(ロケーションバーが通知バーで点滅します)。どこでもlocationManager.removeUpdatesを置こうとしました。それだけで私の場所の更新を止めることはありません。 – Lowrider

関連する問題