Android getLastKnownLocation 不更新
Android getLastKnownLocation doesn't update
我正在制作一个获取用户位置的应用程序,因为我正在使用 getLastKnownLocation,问题是,如果我将我的虚拟 phone 的位置更改为其他地方,getLastKnownLocation 仍然提供相同的位置,它只会在我打开 Google 地图时更新。
有什么方法可以获取设备的实际位置?
您描述的 LocationManager.getLastKnownLocation
的行为与此方法的表现完全一致 defined:
Gets the last known location from the given provider, or null if there is no last known location. The returned location may be quite old in some circumstances, so the age of the location should always be checked.
This will never activate sensors to compute a new location, and will only ever return a cached location.
因此,如果使用任何其他应用程序请求实际位置(例如 Google 地图),缓存值将被刷新,您可以通过 getLastKnownLocation
.
检索它
如果您主动想要检索新位置,您应该使用 getCurrentLocation
或继续使用 getLastKnownLocation
,但在通过 requestSingleUpdate
[=17= 调用之前强制更新位置]
我正在制作一个获取用户位置的应用程序,因为我正在使用 getLastKnownLocation,问题是,如果我将我的虚拟 phone 的位置更改为其他地方,getLastKnownLocation 仍然提供相同的位置,它只会在我打开 Google 地图时更新。 有什么方法可以获取设备的实际位置?
您描述的 LocationManager.getLastKnownLocation
的行为与此方法的表现完全一致 defined:
Gets the last known location from the given provider, or null if there is no last known location. The returned location may be quite old in some circumstances, so the age of the location should always be checked. This will never activate sensors to compute a new location, and will only ever return a cached location.
因此,如果使用任何其他应用程序请求实际位置(例如 Google 地图),缓存值将被刷新,您可以通过 getLastKnownLocation
.
如果您主动想要检索新位置,您应该使用 getCurrentLocation
或继续使用 getLastKnownLocation
,但在通过 requestSingleUpdate
[=17= 调用之前强制更新位置]