2011-09-22 71 views
1

該應用程序正在處理位置更新和發送所述位置回服務器。該應用程序不會關閉位置更新。這是設備永久插入電源,所以電池不是問題。如何保證位置更新繼續下去?

在設計上,將位置更新無限期繼續,或將Android停止在某些時候送他們,例如,如果應用被推出的內存?

如果位置更新不停止,我怎麼要求他們以這樣的方式,他們將無限期地繼續下去?

回答

1

是的,如果手機沒有睡着,那麼用戶進程就會運行。

在服務的註冊LocationListener所以,它的觸發位置發生變化時。即使您的服務沒有運行,系統也會啓動它並執行註冊的方法。

您應該確定閱讀Deep Dive into Location博客,瞭解Android中所有位置處理的角度。

+0

+1對於'LocationListener',這是一個更好的方式來處理你的場景。 – brc

0

這取決於你是如何運行的應用程序。只要應用程序保持焦點,除非發生災難性事件,否則它將繼續發送更新。如果應用程序失去焦點,則可能會遇到問題,具體取決於您如何實施位置更新。無論哪種方式,一定要

  • 創建一個ASyncTask[docs]處理實際更新的發送,否則您的應用程序將是killed
  • 如果應用程序可以失去焦點,您可以創建一個服務,並從上拆除您的應用程序保持它在後臺運行。