2011-03-30 82 views
1

我即將開始使用位置服務,但有一個關於如何在Android中使用GPS接收器的一般問題。在設備上啓用GPS時,它是否立即生效(即獲得衛星修復)還是僅在應用程序請求位置更新時才激活?一般安卓GPS行爲

我問的原因是因爲我對各種個人GPS裝置的使用經驗是,當你第一次激活它們時,在它被鎖定之前還有一段相當長的時間滯後,並且知道它在哪裏(我的Garmin Forerunner可以採用有時需要幾分鐘才能修復)。

那麼Android如何獲得最初的GPS鎖定,並且即使應用程序僅獲取位置相隔幾分鐘,它也能保持該鎖定?在第一個位置通知之前,應用程序通常會經歷很大的時間滯後嗎?

回答

0

獲得GPS修正確實需要一些時間。我相信設備之間的確切時間會有所不同,但這不是幾分鐘的時間。通常在我的使用中有幾秒鐘 - 無論是在Google地圖還是我的應用程序中。

只有在您明確請求它們時,纔會在您的應用中獲得GPS更新。更新的頻率取決於初始化LocationListener時使用的參數。如果您已經開啓了GPS,然後啓動了您的應用程序,那麼這個過程會更快。

如果您想立即開始並且不想等待確切的修復,您還可以獲取最新的已知最佳估計值。

0

我不知道這是否是獨立於你正在使用而Android應該表現得像該設備:

如果GPS已啓用,這並不意味着這是真的在使用中。啓用僅意味着它可以被應用程序或其他使用。所以你的假設是真的,接收信號需要一些時間。但是,在我的設備(HTC Desire)上,這通常會很快完成。但有時我也注意到花了2-3分鐘。但我認爲這取決於設備,天氣狀況,環境(例如靠近大型建築物)以及最後但並非最不重要的宇宙輻射。

我認爲最好的解決方案是使用GPSStatusListener來檢查您連接的衛星數量並檢查第一個修復程序。

0

GPS功能與其他任何GPS功能相同,因爲採集衛星的滯後時間或等待時間(通常爲三個或更多)是相同的。等待時間取決於你距上一個地點有多遠> 400英里,它對每顆衛星都是視線。

至於GPS更新您的應用程序。閱讀有關LocationManager.requestLocationUpdates的信息。您將控制如何以及何時更新您的位置以及如何使用位置服務。 GPS的行爲與其他任何一樣,只要記住電池和Android中定位的時間是主要關注的問題。您希望您的應用程序能夠快速響應,並且在鎖定和更新方面使用GPS可能會很慢。

0

我一直在開發的手機的經驗是,如果GPS功能先前被關閉,初始修復確實需要一些時間。但是,一旦找到修復,它會頻繁觸發onlocationchange事件。

+0

準確地說,您應該在您的應用中做其他事情,以便用戶不會等待您的GPS鎖 – apesa 2011-03-30 22:43:30

+0

作爲apesa評論的後續,「搜索修復」消息是一件好事。我的應用程序作爲服務運行,所以他們不需要看到;) – Sorean 2011-03-30 22:45:26