GPS остается активным после финиша () - PullRequest
0 голосов
/ 26 марта 2012

из Activity (UI) Я звоню в класс, чтобы узнать свое местоположение.При включенной паузе в активности я пытаюсь остановить слушателей, но значок GPS в строке состояния продолжает мигать, это касается большего количества устройств (я читал, что это проблема HTC).Как мне решить эту проблему?

The GPS location class:

public GPSLocation (Context context) {
            myContext = context;

            LocatieManager=(LocationManager)myContext.getSystemService(Context.LOCATION_SERVICE);
        }   

public void StopLocationListeners(){
     // LocationManager LocatieManager=(LocationManager)myContext.getSystemService(Context.LOCATION_SERVICE);
      LocatieManager.removeUpdates(netwerklistener);
      LocatieManager.removeUpdates(gpslistener);    
      LocatieManager.removeGpsStatusListener(gpsStatusListener);
}

Из пользовательского интерфейса я вызываю mGPSLocation.StopLocationListeners(); в методе onPause, но это не работает.Кто-нибудь может помочь мне и дать подсказку, почему это невозможно?

Спасибо

Ответы [ 2 ]

1 голос
/ 26 марта 2012

Вы закрываете GPS из открытых методов.но как вы можете быть уверены, что объект, который сейчас запущен, приближается?Я хочу сказать, что у вас может быть несколько объектов вашего класса местоположения.для этой цели вам нужно использовать static, чтобы при закрытии GPS он закрывал только конкретный.

0 голосов
/ 26 марта 2012

после вызова этого

mGPSLocation.StopLocationListeners();

Вы можете остановить LocationListener, установив для его объекта значение null .. поместите эту строку

LocatieManager=null

в метод StopLocationListeners () ..

...