2010-01-06 5 views
7

После запуска слушателя по следующему коду работает нормально.android как остановить gps

LocationManager locationManager =(LocationManager) getSystemService(Context.LOCATION_SERVICE); 
locationManager.requestLocationUpdates(
        LocationManager.GPS_PROVIDER, WLConstants.DELAY_HOUR, gpsl 
          .getMinDistance(), gpsl); 

Через некоторое время я остановить слушателя следующим кодом

locationManager.removeUpdates(this); 

, но проблема все еще ищете мой GPS любое решение ??? как остановить gps?

+2

Не забудьте принимайте ответы на предыдущие вопросы, которые вы задали, - вы до сих пор принимаете 45%. Таким образом, больше людей, вероятно, продолжит отвечать на вопросы. :) –

ответ

19

Вам необходимо пройти один и тот же объект, реализующий LocationListener, что вы запросили обновления местоположения для к locationManager.removeUpdates() метод.

Так, если this и gpsl не одно и то же, вы должны позвонить:

locationManager.removeUpdates(gpsl); 
0

Мой слушатель РЕАЛИЗАЦИЯ

public class GPSLocationListener extends Activity implements LocationListener { 

    @Override 
     public void onLocationChanged(Location location) { 
//code here 
    } 

    } 

, когда я пытаюсь удалить слушателя, используя follwing ошибку во время компиляции кода.

locationManager.removeGpsStatusListener(GPSLocationListener) 
+2

При удалении слушателя вам нужно использовать имя * instance *, а не имя * class *. В вашем исходном вопросе ваш слушатель является переменной, называемой 'gpsl'. Предположительно, это переменная-член в вашем классе. Если нет, сделайте его переменной-членом вместо локального для этого метода. Затем вы можете передать 'gpsl', когда вы вызываете' removeGpsStatusListener'. –

+1

Вы не можете использовать removeGpsStatusListener с помощью LocationListener! Функция LocationListener отличается от GpsStatus.Listener. – Erwan

0

Вы должны передать экземпляр вашей GPSLocationListener идти метод removeGpsStatusListener и не имя класса.

1

Вы можете передать параметр как это GPSLocationListener.this

locationManager.removeGpsStatusListener(GPSLocationListener.this); 

компиляции не будет неправильно

3

Если вы используете карты, вы должны сделать:

locationManager.removeUpdates(locationListener); 

mMap.setMylocationEnabled(false); 
+0

.setMyLocationEnabled (false) на самом деле отсутствует в моем коде. Большое спасибо! – marson