Включить GPS программно Android (без навигации к настройкам местоположения)

Это может быть очень распространенный вопрос, однако должен быть способ программного обеспечения GPS программно, как это происходит в официальном приложении Google Maps, просто нажав кнопку "включить" на всплывающем экране (без переход к настройкам местоположения). Может кто-нибудь помочь?

Ответы

Ответ 1

Приложение Google Maps использует то, что теперь доступно нам как SettingsApi в 7.0.0 SDK Play Services. Вы можете использовать SettingsApi, чтобы узнать, может ли ваш желаемый LocationRequest быть выполнен с любыми провайдерами местоположения. Если он не может быть выполнен, и Play Services думает, что пользователь может это изменить, вы можете попросить открыть диалоговое окно, отображающее отображение карт.

Использование SettingsApi не особенно просто. Я только что разместил пример приложения за это вчера, начиная с версии 6.6 моей книги. Использование ACTION_LOCATION_SOURCE_SETTINGS, как предложено в ответе Laurenswuits, намного проще реализовать.

Ответ 2

Это потому, что они используют Settings API в игровых сервисах, как описано в ответе Commonsware, что немного сложно. Вам лучше использовать "старый" метод:

Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);