的documentation說:Returns a Location indicating the data from the last known location fix obtained from the given provider.
此外,關於「過時的位置」:This can be done without starting the provider. Note that this location could be out-of-date, for example if the device was turned off and moved to another location.
(「這」指的是獲得最後已知的位置)。
此外,從LocationProvider docs採取: Each provider has a set of criteria under which it may be used; for example, some providers require GPS hardware and visibility to a number of satellites; others require the use of the cellular radio, or access to a specific carrier's network, or to the internet. They may also have different battery consumption characteristics or monetary costs to the user.
如果手機有GPS功能,是不是該GPS跟蹤/更新的手機動作?
嗯,它是,但不是不斷。這與電池消耗有關,如果手機不斷更新GPS位置,電池壽命將受到很大影響。 GPS位置通常在一些應用程序請求時更新。但即使這樣的要求也不能保證成功。例如,假設你進入隧道。一些應用程序請求在進入隧道之前更新GPS座標並且成功。現在,你已經進入了5公里長的隧道。很可能您的設備將無法從隧道獲得GPS定位,因此在接下來的5km(至少)getLastKnownLocation()
將返回過期值,,因爲設備的最後一個已知位置位於隧道的入口處。
你可以做的是明確要求更新GPS位置,但這可能需要一些時間,並且不能保證它會成功。
'GPS位置通常在某些應用程序請求時更新 - 'getLastKnownLocation()'不請求它,從而告訴它更新?那麼如何/何時會更新? – mmcrae
Android教程中的替代方案是實現'LocationListener' - 但所有這些都會在GPS更新時回調 - 它本身不會更新GPS。那麼如何使用'LocationListener'(唯一提到的獲取GPS的其他選項)比調用'getLastKnownLocation()'更好?這些文檔似乎並沒有實際更新GPS - 「getLastKnown」只是抓取了最後一次GPS讀取的內容,而「LocationListener」爲您提供了一種在GPS更新時被告知的方法。順便說一句,我很感謝你幫助我的時間。 – mmcrae
'getLastKnownLocation()'只是獲取最後一個已知位置,它不更新它。它會在某些應用程序顯示「Hey Android,請更新GPS位置」時得到更新。當一些應用程序調用'getLastKnownLocation()'時,它基本上是這樣說的:「嘿,Android,請告訴我最近的已知位置是什麼?」,它並沒有要求更新位置。 「最近的已知位置」存儲在Android操作系統的某處。 –