2011-11-30 45 views
12

我正在設計一個應用程序,其中服務器端的應用程序需要持續瞭解用戶的位置。我正在考慮創建一個在後臺運行的Android服務,並不斷查詢用戶位置並將結果發送給後端服務器中的應用程序。但是,我想知道這是否是節省電池方面的最佳方法。例如,在iOS中,有一種叫做「重大改變」的東西來達到這個目的,Android有沒有類似的東西。連續報告用戶位置的最佳實踐

+0

在iOS上,這個「顯著變化」是不是你可能會想。當設備在蜂窩塔之間切換時可能會發生顯着的變化,並且在距離每隔「x」變化後實際上不會發生。當使用這種「重大變化」功能時,您將收到位置更新,但實際使用頻率不足(除非您只想跟蹤幾個位置) – binnyb

回答

15

我建議創建一個只使用NETWORK_PROVIDER和PASSIVE_PROVIDER的後臺服務。您可以使用minTime和minDistance參數來避免耗盡電池。 Documentation

而且雷託寫了一篇關於獲取用戶的位置 http://android-developers.blogspot.com/2011/06/deep-dive-into-location.html

關於你的評論,你必須啓動你的服務粘一個偉大的職位: Documentation

+0

謝謝......在這種情況下,我如何確保系統將不殺我的服務,或者至少,我怎麼知道服務是否被殺死,以便我可以再次運行它? – user836026

+0

編輯答案:) –

+0

@DominicBartl這將是有趣的你對這裏提出的選項的想法:http://stackoverflow.com/questions/18260531/how-to-continuously-track-the-location-of-an-android -移動電話 –