更多活動需要獲取有關位置的信息,所以我認爲將它們分別設置爲位置偵聽器並不是一個好主意。 因爲這個原因,我的想法是讓後臺服務監聽變化,然後當一個活動想知道當前的經緯度時,它只是要求他們服務。如何進行位置偵聽器服務
問題是,當前活動暫停(屏幕變暗,用戶按下home鍵等)時,服務應停止監聽(以避免電池浪費)。
你能否告訴我一個很好的模式來實現我想要做的事?根據你的說法,正確的方法是繼續嗎?
更多活動需要獲取有關位置的信息,所以我認爲將它們分別設置爲位置偵聽器並不是一個好主意。 因爲這個原因,我的想法是讓後臺服務監聽變化,然後當一個活動想知道當前的經緯度時,它只是要求他們服務。如何進行位置偵聽器服務
問題是,當前活動暫停(屏幕變暗,用戶按下home鍵等)時,服務應停止監聽(以避免電池浪費)。
你能否告訴我一個很好的模式來實現我想要做的事?根據你的說法,正確的方法是繼續嗎?
您應該創建一個綁定服務 - 一旦所有綁定的活動被刪除(不是onPause ...),該服務就會停止。
對於onPause檢測,您需要覆蓋應用程序類並創建一個靜態值「inForeGround」。
Here是一些綁定服務的信息!
小Flyffy位置圖書館
Nofity您的應用程序時的位置發生變化。
簡單,快速,簡單!
我雖然一個更好的辦法:我簡單地定義對服務的取消註冊監聽器方法,我的onPause()中調用的活動方法) – user1610075
這很好,也當然的,但不要忘了取消註冊在每一個活動! –