LocationListener已停止以接收位置更新

时间:2013-06-15 10:05:59

标签: android android-location

我在onResume中使用此代码:

final LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);

        if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
            locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10 * 1000, 10, this);
        } else {
            locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10 * 1000, 10, this);
        }

并在Activity中实现了LocationListener。正如我在调试器中看到的那样,启用了GPS_PROVIDER。当应用程序正常工作时,我也会看到GPS图标。 GPS已在设置中启用。这两个许可都已设定。但onLocationChanged永远不会被调用。几个星期前,这段代码运作良好。

2 个答案:

答案 0 :(得分:2)

您可以在最短时间10秒和最小距离10米的情况下设置更新。检查您是否达到了这些最​​低限度。尝试将所有条件设置为0并再次检查。

此外,检查GPS更新是否有效 - 例如,使用地图应用程序。如果您的设备在“冷”启动时使用GPS - 您无法在10-20分钟或更长时间内收到更新。

答案 1 :(得分:1)

我建议你

  1. 使用Log.d(...)检查locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)
  2. 同时使用Log.d(...)捕获对onProviderDisabled(...)onProviderEnabled(...)onStatusChanged(...)的所有来电。
我希望结果输出可以帮助您解决问题。