2015-05-12 4 views
1

Используя старого менеджера Android местоположения, вы можете обнаружить ли место включено для GPS (и аналогично для сетевого расположения) с помощью:Есть ли новый способ определения настроек местоположения Android в API GooglePlayServices?

LocationManager x = (LocationManager) getSystemService(Activity.LOCATION_SERVICE); 
boolean isGPSEnabled = x.isProviderEnabled(LocationManager.GPS_PROVIDER); 

Есть новый способ сделать это с помощью Google Play API служб местоположения? Документация предлагает

Если вы используете API-интерфейс местоположения Android, вам настоятельно рекомендуется как можно скорее перейти к API местоположения сервисов Google Play.

https://developer.android.com/training/location/index.html https://developer.android.com/reference/com/google/android/gms/location/package-summary.html

+3

Примите эту поддержку с большим щепоткой соли. Существует довольно много приложений, которые не получают никакой пользы от новых API, а старые не уходят (новый построен поверх них). Новые также не будут работать на пользовательском ПЗУ или на любом телефоне, который не заплатил Google за право использовать их, если только владелец не пиратствовал в Google Play Services. –

ответ

1

Как прокомментировал Гейб, я думаю, вы не должны перейти на новые API (FusedLocationProviderApi), если ваш случай использования удовлетворен LocationManager. Огромный недостаток использования FuedLocationProviderApi заключается в том, что он не работает хорошо, если вы только включаете поставщика сетевого местоположения.

Сказав, что для оригинальных вопросов, если вы решили использовать FusedLocationProviderApi, вы можете использовать SettingsApi для подтверждения текущих настроек пользователя для определенного параметра LocationRequest. SettingsApi также предоставляет средства для восстановления из-за недостаточных настроек, то есть может отображать диалог «включить доступ к местоположению», и вам не нужно перенаправлять страницу пользователя на страницу настроек.

Смежные вопросы