2013-10-28 170 views
0

我正在開發一個基於位置的android應用程序,它需要在後臺連續檢索位置。基於位置的android應用程序

  • 我正在使用LocationManager來獲取位置更新。
  • 我寫了一個實現LocationListener並檢索位置更新的服務。
  • 有一個選項可供用戶打開/關閉通知。如果通知關閉,我在應用程序進入後臺時調用stopService(),否則服務將繼續運行,並且不會調用mLocManager.removeUpdates()。

這意味着如果用戶保持通知,服務將繼續請求位置更新。我現在最擔心的是電池漏電。我知道我必須停止在某個時候請求更新,但我的應用需要在後臺連續接收位置信息。任何人都可以告訴我,當我使用NETWORK_PROVIDER並以5分鐘的間隔請求更新時,平均電池位置更新可能會消耗多少?

也應該使用LocationClient而不是LocationManager來提高性能?或者如果我繼續使用LocationManager,這樣可以。

如果有人能夠向我提供關於如何有效地接收位置更新的建議,這將持續需要位置數據,那真是太好了。

+0

看看他下面的鏈接http://stackoverflow.com/a/14478281/1292203 –

+0

我已經使用服務來檢索背景中的位置。但我需要在後臺持續接收位置更新,所以我不打電話給stopService(),我知道這不是一個好習慣,並且會耗盡電池電量。是否有任何有效的方式在不消耗電池的情況下在後臺持續接收位置更新? – Raeesaa

+1

如果有人能夠建議我一種有效的方式來請求連續更新,並且電量消耗更少,那真的太棒了。 – Raeesaa

回答

0

您必須記住LocationClient是Google Play服務的一部分,因此它僅適用於平臺包含Google Play商店的設備。某些設備可能正在使用Android的非標準版本,並且您無法訪問LocationClient。

+0

是的,我知道這一點。這就是我使用LocationManager的原因。我現在最擔心的是電池消耗,據我所知LocationClient使用的功率比LocationManager低,這就是我計劃切換到LocationClient的原因。 – Raeesaa

+0

位置管理器是在Android SDK中引入的,可以用作android的一個功能。 位置客戶端是Google Play SDK的一部分,並在最近的Google IO 2013中引入。 人們可以理解,由於位置客戶端是最新版本,因此在以最小的能量(電池消耗)獲取位置方面效率更高,精度更高。 –

0

請求位置更新,就是好的。但是,如果您將其與GPS_PROVIDER進行比較,則位置的準確性會降低,但再次gps需要更多的功率。作爲我昨天的個人經歷,我的GPS每隔10秒就會持續3小時跟蹤我的位置,在那段時間我使用Nexus 4的電池電量消耗爲20%。如果可以接受,您可以自己選擇回來你還是不是。

但正如其他人所說,使用FusedLocation Provider即LocationClient是精度與電池耗盡問題的最佳選擇。

+0

謝謝你的回答。我仍然對使用什麼感到困惑。在得出結論之前,必須與少數人討論。 – Raeesaa

+1

是的..這是做事情的最佳方式..問開發者他們喜歡什麼以及他們喜歡什麼。你會學到很多東西。 – d3m0li5h3r

相關問題