2015-05-12 48 views
0

我正在創建一個應用程序,它使用locationManager()來處理來自GPS的更新。當應用程序關閉時,我想要locationManager的更新停止並且有此代碼。onPause(),來自家庭和後退按鈕的不同結果

@Override 
protected void onPause() { 
    super.onPause(); 
    if(locationManager != null){ 
     locationManager.removeUpdates(locationListener); 
} 

當我退出與後退按鈕的應用程序,的onPause()被稱爲和GPS站。這裏沒什麼奇怪的。但是,如果我按下主頁按鈕,狀態欄中的GPS標記仍然可見,即使onPause調用方式相同。

+1

你是否覆蓋onStop()? – Amsheer

回答

0

這是因爲當你退出一個帶有後退按鈕的應用程序時,Activity被銷燬(接收到onDestroy回調)。而且由於沒有過程使用GPS標記也是隱藏的。如果您鎖定設備屏幕或按主頁按鈕應用程序仍在運行,但活動已停止。 使用您的代碼,您將無法在onPause之後獲得任何GPS更新,直到您再次註冊爲止。

相關問題