#android #gps
#Android #gps
Вопрос:
В настоящее время я работаю над задачей, в которой мне нужно получить местоположения из GPS. Проблема, с которой я сталкиваюсь, заключается в том, что, как только я получаю местоположение и задача выполняется, после этого, если приложение работает в фоновом режиме, я не хочу получать какие-либо местоположения до тех пор, пока мое приложение не вернется на экран (передний план), чего в настоящее время не происходит. (пожалуйста, обратите внимание, что здесь я не говорю о переключении активности с одного на другое с помощью intent, поскольку мое приложение имеет только один экран и одно действие).
Я хотел бы знать, в какое место должен быть помещен код для обработки этой ситуации и как я могу этого добиться. Я попытался установить для экземпляра значение null и удалить обновление, но это оказалось неэффективным. Может быть, я помещаю его не в то место, я помещаю его снаружи onCreate()
внутри действия, расширяющего класс.
Комментарии:
1. вызовите это «location_manager.removeUpdates (LocationListener);» в activity onPause().
2. @llango спасибо за ответ. я ценю ваш быстрый ответ, я тестирую это сейчас, и если сработает, обязательно сообщу вам.
Ответ №1:
Вызов requestForLocationUpdates()
в onResume()
и removeUpdates()
в onPause()
Как только я получу местоположение, задача будет выполнена
Если вам нужна только одна широта, исправлено: не используйте режим отслеживания, вместо этого используйте: requestSingleUpdate()
Комментарии:
1. Спасибо за ответ. я ценю ваш быстрый ответ, однако проблема с выборкой нескольких местоположений заключается в том, что у меня есть кнопка, которая включается только после получения GPS, поэтому, если приложения остаются на переднем плане и пользователь переместился, тогда должна быть указана новая позиция GPS, и, следовательно, я снова выбираю местоположения, но я тоже этого хочутолько на переднем плане. я тестирую это сейчас, и если сработает, обязательно сообщу вам.