2

我讀了ServiceIntentService之間的區別。服務vs IntentService在位置跟蹤服務的情況下

我看最主要的是IntentServiceWorkerhtread該服務在運行。

我需要它,無論運行應用程序的活動/ UI的服務,並跟蹤用戶位置的。

該服務將執行GoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListenerLocationListener,並且在運行時,會隨時更新用戶位置(直到停止)的表格。

我應該使用Service還是IntentService

回答

3

IntentService意圖是火災並且忘記服務,用於可能重複的相對較短的任務。另一個重要的區別是當onHandleIntent()返回時,IntentService會自行停止。一個普通的服務不會停止,除非你(或者android os)明確地停止它。這聽起來像你正在計劃一個長時間運行的任務,當你的應用程序不在前臺時也運行。

在這種情況下,您一定要使用常規服務。您仍然可以選擇在單獨的線程中執行工作,方法是在服務內部創建一個工作並在其中執行工作,但您不一定必須這樣做。請記住,默認情況下,服務在主要的thead上運行。

+0

感謝您的解釋良好的答案。我想我會和常規服務一起去,也許會在那裏開一個線程來跟蹤位置。還有一個問題 - 我確實有一個帶谷歌地圖的Fragment,我確實想告訴片段,當位置發生變化時,它可以繪製新的位置。我正在考慮廣播自定義意圖,並讓接收器在我的片段中聽取他們的意見。這聽起來不錯嗎? –

+0

是的,這聽起來不錯 –

相關問題