Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android LocationListener不会被杀死_Android_Android Service_Android Location - Fatal编程技术网

Android LocationListener不会被杀死

Android LocationListener不会被杀死,android,android-service,android-location,Android,Android Service,Android Location,我有一个实现LocationListener的前台服务。当服务被终止时,它会继续得到修复。然而,这就是我在onDestroy()中调用的 有什么我遗漏的吗 编辑 更多代码。这在onCreate()中: 使用 而不是 locationManager.removeUpdates(EventService.this); 有关更多信息,请参阅doc我已解决了该问题。事实证明,MyLocationOverlay也绑定到LocationSensorThread,我从来没有关闭它。所以这让GPS保持清醒。我

我有一个实现LocationListener的前台服务。当服务被终止时,它会继续得到修复。然而,这就是我在
onDestroy()中调用的

有什么我遗漏的吗

编辑

更多代码。这在
onCreate()中:

使用

而不是

locationManager.removeUpdates(EventService.this);

有关更多信息,请参阅doc

我已解决了该问题。事实证明,
MyLocationOverlay
也绑定到LocationSensorThread,我从来没有关闭它。所以这让GPS保持清醒。

我在上面已经说过,我的LocationListener是由EventService实现的。我想这就是我的例子。添加更多信息,你的locationListener是如何实现的?我真的不想听起来势利,但是:它的实现就像它应该的那样。GPS本身工作正常,但当服务停止时,我希望locationManager删除服务的更新。相反,它不断得到修复。否则,我必须在这里复制大量代码。发布更多代码以显示如何实现位置侦听器您是否知道是否调用了
onDestroy()
方法?你是否有客户绑定到你的服务?我有一个类似的问题。在我的例子中,问题与活动生命周期()有关。注意如何在不调用onDestroy的情况下终止活动,从而阻止注册位置侦听器。
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

    Criteria criteria = new Criteria();
    String bestProvider = locationManager.getBestProvider(criteria, true);

    Location location = locationManager.getLastKnownLocation(bestProvider);
    if (location != null) {
        onLocationChanged(location);
    }
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
            3000L, 15.0f, this);
locationManager.removeUpdates(Your_Location_Listener_instance);
locationManager.removeUpdates(EventService.this);