【问题标题】:Can't get any location on Android device, while Google Maps can无法在 Android 设备上获取任何位置,而 Google 地图可以
【发布时间】:2013-11-17 19:05:38
【问题描述】:

我正在编写一个需要获取任何新位置的应用程序。准确度不计其数。我的应用程序将主要用于建筑物,因此我使用网络位置提供程序作为主要位置源。 我在某些设备上遇到以下问题: 我的代码无法访问任何位置。但是当我在同一台设备上启动谷歌地图时 - 它显示了正确的位置。我切换回我的程序,它再也看不到任何位置。 我的代码大致如下:

  1. 使用以下代码检查网络位置提供程序是否可用:

    locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

  2. 如果启用了网络提供商 - 需要单个位置更新:

    locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

  3. 代码还会启动 Timer 5 秒。如果代码在 5 秒内没有获得请求的位置更新,则计时器正在遍历所有可用的提供程序,试图获取最后一个已知位置并选择最佳位置:

    位置 location = locationManager.getLastKnownLocation(provider);

所有这些移动的结果是网络提供商已打开,但代码没有得到任何更新。计时器启动,遍历所有提供者,并且它们都没有任何最后已知的位置。 getLastKnownLocation 方法对所有这些都返回 null。最奇怪的是,谷歌地图在此之前几秒钟就获得了正确的位置。我已经重新启动设备没有任何效果。 我检查了获取位置here 的最佳实践。他们似乎使用与我目前相同的方法。有没有我遗漏的技巧?

【问题讨论】:

  • 你能发布你的完整代码吗?

标签: android locationmanager


【解决方案1】:

此问题出现在某些设备上,解决方法是尝试从 GPS 获取位置,如果失败则从 WIFI 设备获取位置

【讨论】:

  • 我无法使用 GPS,因为我的应用只能在建筑物内使用。我不能指望 GPS 可用。谷歌地图可以在没有 GPS 的情况下获取位置。此设备上的 GPS 实际上已关闭。
猜你喜欢
  • 2016-01-30
  • 1970-01-01
  • 2015-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-30
相关资源
最近更新 更多