我正在尋找一些應用程序設計建議。如何在活動暫停時接收和處理位置更改
我有一個應用程序連接到Google定位服務並跟蹤它接收到的位置座標。這些在UI上顯示爲路徑。
當屏幕超時並變空白時,當然,這個Activity
將按照正常的活動生命週期關閉。
但是,我仍然要記錄位置服務中每個onLocationChanged
事件回來的座標,但當然,Activity
已暫停,因此它不能這樣做。
我並不特別想要防止屏幕在清單中消隱(因此Activity
永遠不會暫停)。雖然我相信它仍然會暫停比如說,如果一個電話接收等
我的解決辦法是在Activity
暫停事件之一(無論是,onStop
或onSaveInstanceState
)啓動一個IntentService
接收位置更新,然後當Activity
重新啓動時,從服務收集數據並關閉服務。
這是實現這一目標的有效且正確的方式,還是存在一些我不知道的Android黑色藝術?如果是這樣,是IntentService
正確的方式去(或應該使用Service
)?
你介意解釋爲什麼這樣更好嗎?這不就是一個由調度程序啓動的「服務」,而不是實際需要的時間(即當我的應用程序暫停時)? – SimonH