У меня есть очень простое приложение для Android, которое отображает представление Google Maps и использует GPS для отслеживания положения (по сути, так):
public void onCreate(Bundle savedInstanceState) {
// ...
mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
// ...
}
public void onResume() {
super.onResume();
mLocationManager.requestLocationUpdates(mProvider, 20000, 1, this);
}
public void onPause() {
super.onPause();
mLocationManager.removeUpdates(this);
}
public void onLocationChanged(Location location) {
mPosition = getGeoPointForLocation(location);
mMapController.setCenter(mPosition);
}
И когда я использую следующую команду для выхода изприложение (например, через меню), GPS продолжает отслеживать - кажется, что активность все еще работает:
// ...
case R.id.menu_exit:
finish();
// ...
Как мне остановить GPS-отслеживание, если оно не работаетудалив диспетчер местоположений в onPause()
и позвонив finish()
?Насколько я прочитал учебники или другие вопросы, это должно быть решением ..