2010-08-16 62 views
0

我有一个mapView活动,它有一个LocationListener已注册,每两秒钟检查一次新的位置。当我按下后退按钮返回到应用程序的主屏幕时,GPS会每两秒钟检查一次位置。当Activity停止时,听众不会停止吗?如果不是,我该如何处理?我目前还没有重写onStop()应用程序保持Ping GPS

private final LocationListener locationListener = new LocationListener() { 
    public void onLocationChanged(Location location) { 
     updateWithNewLocation(location); 
    } 

    public void onProviderDisabled(String provider) { 
     //TODO do something to handle when the provider is disabled 
    } 

    public void onProviderEnabled(String provider) { } 
    public void onStatusChanged(String provider, int status, Bundle extras) { } 
}; 

回答

3

你需要重写你的Activity的方法,因为这是肯定会被调用。 在方法中,您应取消注册LocationListener

您可以通过

locationManager.removeUpdates(yourListener); 

如果你有一个mapView我有时曾与locationOverlay保持注册的侦听和使用,即使是MapView类在后台GPS的问题,做到这一点。

+0

工作就像一个魅力。谢谢 – Mike 2010-08-16 16:27:05