Значок GPS по-прежнему мигает после locationManager.removeUpdates () и путем установки locationManager в null

Я разрабатываю приложение для отслеживания местоположений. Но я останавливаю получение обновления местоположения, делая 2 вещи …

  1. locationManager.removeUpdates (это); а также
  2. Установка locationManager ссылается на null.

Это перестанет получать координаты местоположения, как я хочу …

Но проблема в том, что значок gps все еще мигает. Это приведет к разрядке батареи устройства.

Поэтому, пожалуйста, помогите мне в прекращении этих GPS-исправлений …

Если вы отображаете свою позицию и / или компас в вашем mapView, вы должны отключить их. Если вы этого не сделаете, GPS по-прежнему активен.

Пример:

private MapView mapView; private MyLocationOverlay Location; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.frame_layout); mapView = (MapView) this.findViewById(R.id.mapView); Location = new MyLocationOverlay(this, mapView); Location.enableMyLocation(); Location.enableCompass(); mapView.getOverlays().add(Location); } @Override public void onDestroy() { Location.disableMyLocation(); Location.disableCompass(); } 

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

У меня была большая головная боль, прежде чем я понял, что значок GPS был вызван неправильной установкой FlurryAgent.setReportLocation(true) установлена FlurryAgent.setReportLocation(true) а onEndSession() не onStop() в onStop() ).

Если вы тестируете это на эмуляторе, это совершенно нормальное поведение. Значок GPS в строке состояния никогда не исчезает.

Если вы тестируете это на оборудовании, вы requestLocationUpdates() более одного раза (и не удаляли другие обновления), или, возможно, что-то еще на аппаратном оборудовании использует GPS.

Intereting Posts