在我的應用程序的情況下,我想保持Started Service
在我的應用程序的生命。在這種服務,我必須使用FusedLocationProviderClient
與LocationServices api
請求位置更新(準確地說,在onStartCommand
方法)。每當新的「位置更新」收到更新的位置將被保存到PreferenceManager
。Android的入門服務,處理線程與位置服務API
當用戶註銷從應用程序,我會停止這個Started Service
。
我是否需要在新的HandlerThread
(因爲啓動服務在主線程上運行)處理此位置更新邏輯?
從我的觀點,因爲FusedLocationProviderClient.requestLocationUpdates
(從LocationServices API)的方法是非阻塞的通話和基於異步編程模型,我認爲HandlerThread
不會在我的方案是必要的。
P.S.我參考了GoogleSample。在這個例子中,他們演示了綁定服務也開始了(不會在客戶端綁定時結束)。他們也沒有實現HandlerThread的實際邏輯來獲取位置更新。
否則在這種情況下需要'HandlerThread' - 假設您只是將更新保存在本地存儲中 – pskink