Я нахожусь в процессе написания библиотеки, которая обрабатывает это и подобные вещи.Я только начал, так что не так много, но, к счастью, доступен базовый получатель местоположения.
Взгляните на: https://github.com/sfarooq/A-droid-lib
Все, что вам нужно сделать, это реализовать интерфейс AsyncCaller
и затем вызвать:
new AsyncGetLocation(this).execute();
из вашего классаи местоположение будет возвращено методу onBackgroundTaskCompleted()
.Если вы хотите сделать диалог загрузки, когда это происходит, вы можете реализовать интерфейс AsyncStarting
, который имеет определение метода onBackgroundTaskStarting()
, где вы можете добавить диалоговое окно.