Я думаю, что вы спрашиваете, как получить ваше текущее местоположение при получении SMS-сообщения, чтобы вы могли отправить текущее местоположение в другом SMS-сообщении.Я думаю, что вы предполагаете, что вы можете просто позвонить, чтобы получить информацию о вашем текущем местоположении.
GPS не работает таким образом.Он должен работать некоторое время, чтобы получить достаточно сообщений от достаточного количества спутников, чтобы иметь возможность определить положение и точность для этого положения.Таким образом, нет единого вызова функции, чтобы просто получить местоположение устройства мгновенно.
Вместо этого необходимо запустить фоновую задачу (я использую Async Task), чтобы прослушать обновления положения и выполнить итерацию к текущему местоположению.Моя задача отключает прослушивание (и аппаратное обеспечение GPS), когда оно достаточно хорошо исправлено для экономии заряда аккумулятора.
См. предыдущий связанный ответ для получения дополнительной информации.
Можно запросить у менеджера местоположения текущую позицию.Тем не менее, это последняя позиция, которую он записал.Если какое-то приложение какое-то время не использовало оборудование GPS, тогда это исправление может быть очень старым и, следовательно, совсем неточным.На работе мое здание экранирует сигналы GPS (металлическая оболочка), и поэтому мой телефон в настоящее время считает, что он находится у меня дома за много миль от места, где я в последний раз использовал приложение с поддержкой GPS.
Поскольку SMS принимает переменнуювремя для доставки Я думаю, что, вероятно, правильно потратить несколько лишних секунд, чтобы запустить коллекцию GPS и подождать достаточно хорошего исправления, прежде чем ответить.SMS не является средством мгновенной доставки, поэтому дополнительная задержка в несколько секунд для получения хорошего исправления не сильно увеличит время прохождения ваших SMS-сообщений в обоих направлениях.