Обновления GPS не будут отключены после закрытия приложения

Я создал приложение, которое имеет функцию «геолокации», отвечающую за определение пользователя на карте Google, как и во многих других приложениях. Я использовал «LocationManager.NETWORK_PROVIDER», чтобы найти пользователя, и в то же время я создаю экземпляр и запускаю «MyLocationOverlay» (в onLocationChanged() ), чтобы получить местоположение. Из-за второго, GPS включается (мигает сверху), который в порядке.

Проблема в том, что после закрытия приложения (кнопка «Назад» или «Диспетчер задач») функция GPS все еще висит там, пытаясь получить обновления.

Как отключить его после того, как пользователь покинет эту активность? Я пробовал предложения отсюда и других форумов, таких как установка locationManager.removeUpdates(this); И locationManager.removeUpdates(mMyLocationOverlay); В методах onPause() , onStop() , onDestroy() . Метод OnPause выглядит следующим образом:

 @Override protected void onPause() { super.onPause(); locationManager.removeUpdates(this); locationManager.removeUpdates(mMyLocationOverlay); } 

('This' ссылается на мой класс, который реализует LocationListener)

Пожалуйста, может кто-нибудь помочь мне отключить обновления GPS после выхода из этой активности (это класс, расширяющий MapActivity), но не отключать функцию GPS на самом телефоне?

Интересно, что когда я удаляю часть с MyLocationOverlay, GPS не начнется, конечно, и, следовательно, не проблема. Поэтому я уверен, что mMyLocationOverlay – это слушатель, который «не остановится» и не создаст проблему.

Если вы хотите закрыть (или завершить) приложение, которое вы можете использовать

System.exit (0);

Поэтому, когда приложение будет закрыто, все сервисы, которые вы используете, будут закрыты.

googleMap.setMyLocationEnabled (ложь); In onPause () решила мою проблему. И я устанавливаю это в true в OnCreate (). Надеюсь, это поможет другим.

Установите для параметра LocationListener значение null и повторно onResume()