【问题标题】:Getting my gps location while I'm offline在我离线时获取我的 GPS 位置
【发布时间】:2014-01-27 11:53:25
【问题描述】:

我正在做一些关于获取我的 GPS 位置的研究。我正在使用谷歌地图 API v2,所以为了获得我当前的位置,我使用了这个

    locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    List<String> providers = locationManager.getAllProviders();
    Criteria criteria = new Criteria();
    bestProvider = locationManager.getBestProvider(criteria, false);

    Location location = locationManager.getLastKnownLocation(bestProvider);

据我了解,locationManager 中有一个列表,getLastKnowLocation() 返回该列表中的最后一个条目。此外,如果此列表不为空,我可以在我的应用程序离线时获取最后一个条目。

我碰巧在周末关闭了我的 wifi,并检查它是否有效,但没有返回给我的位置。

所以我的第一个问题是:如果有一段时间没有互联网连接,我的应用程序可以在多长时间内检索列表中的条目。

我要检索的位置也是我在线时修复的最后一个位置,对吗?所以即使我可以检索它,它也不会准确,所以当我的手机离线时,还有其他方法可以获取我当前的 gps 位置吗? (即通过 gps 或 gsm 网络) 感谢您的宝贵时间。

【问题讨论】:

  • 您可以在数据库中保存带有时间戳的位置更新,以便稍后您可以获取它。
  • 是的,但如果我离线一段时间,它们仍然会过时
  • 每当您获得位置更新时,只需将该位置保留在首选或数据库中,那么它如何变得过时?我没有清楚地告诉你

标签: android geolocation gps location


【解决方案1】:

首先,您无需连接到互联网即可通过 GPS 获取位置更新。如果您的设备支持 GPS,如果您在户外,它将连接到 GPS 卫星,您可以通过 GPS 获取位置更新。 Read this 了解如何使用位置提供程序。

另请注意,如果未打开提供程序,getLastKnownLocation() 将始终返回 null。引用android文档,

如果提供者当前被禁用,则返回 null。

【讨论】:

  • 是的,但是通过 gps 获取位置需要用户在户外,而且可能需要长达 15 分钟。当我不在线时,还有其他更快的方法吗?
  • 这不是我能预知的。无论我是在室内还是室外,我通常都需要更新位置信息。关键是我能多快得到它们
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-24
  • 2018-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多