У меня нет опыта работы с API сервисов определения местоположения, но вы finish()
добавляете активность карты в свой код кнопки возврата?Если да, вы можете прекратить отслеживание в onDestroy()
, в противном случае непосредственно перед вызовом основного действия.
Также, если вы не хотите, чтобы действия между основным и действием карты запоминались встек заданий (то есть вы проходите через них только «вперед»), рассмотрите возможность использования android:noHistory="true"
в своем манифесте для них.Таким образом, вы можете избежать переопределения кнопки возврата.
Также см. Здесь: Android, как остановить GPS