Android:getLastKnownLocation 已过时 - 如何强制刷新位置?

标签 android geolocation gps

我正在使用

myLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

在我的应用程序启动时检索当前位置。

正如 Android 文档所述,此位置可能是“过时的”,因为该方法会返回上次使用 GPS 时的位置。

我如何主动从 GPS 请求当前位置?我考虑过使用 LocationListener,但这可能有点矫枉过正,因为我只需要一次位置(在我的应用程序开始时)。

有什么想法吗?

最佳答案

您最初的直觉是正确的 - 您需要使用 LocationListener 来请求更新。鉴于您只需要一个位置,您可以在第一个值返回后取消注册 LocationListener。

但实际上,多听一会儿可能是明智的。基于位置的服务(尤其是 GPS)在首次修复时倾向于“跳来跳去”。最好的办法是监听一定的时间或一定数量的更新,或者直到达到一定的准确度(位置监听器将返回所返回位置的准确度)。

关于Android:getLastKnownLocation 已过时 - 如何强制刷新位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2056163/

相关文章:

java - 在出现错误时从 Web 服务设计不同的 JSON 响应

php - 从纬度和经度获取 PHP 时区名称?

php - 确定最近的镜像 PHP

iphone - 如何使用蓝牙测量两个iPhone设备之间的近距离?

关于 PreferenceActivity 的 Android 弃用方法警告

android - 在按钮的左上侧放置一个徽章气泡

android - getReadableDatabase(),native_setLocale,SQLiteOpenHelper中的Android SQLiteDiskIOException

mysql - 从另一个表 MySQL 更新地理信息

tcp - 使用 GNSS 时,Sim7080G 模块无法通过 TCP 发送数据

java - 在android中使用GPS计算累计距离