Как включить и отключить (включить и отключить) Location Services программно в ICS? - PullRequest
2 голосов
/ 09 февраля 2012

Хотелось бы узнать, возможно ли программно включать и отключать службы определения местоположения в Android 4.0?

Я нашел несколько подходов, как это сделать для предыдущих версий Android (например, эта является самой популярной ссылкой). Но этот подход не работает для Android ICS.

Кроме того, я понимаю, что приложение не должно этого делать, но, например, виджет по умолчанию делает это.

Кто-нибудь может уточнить, возможно ли это и как этого добиться?

Ответы [ 3 ]

2 голосов
/ 18 января 2013

Вы можете включить и отключить устройство GPS, но пользователи должны подтвердить в настройке виджета. Решение в этой теме.

2 голосов
/ 09 февраля 2012

В крошечном приложении, которое я разработал, я отключаю gps, просто отключив расположение на MyLocationOverlay. Конечно, это будет работать, только если вы используете карты от Google, поскольку этот класс принадлежит API Google.

myLocationOverlay.disableMyLocation();

Я помещаю строку в метод onStop () и только если она включена в данный момент. И каждый раз, когда мое приложение переходит в фоновый режим, GPS автоматически отключается.

Надеюсь, это поможет.

1 голос
/ 23 мая 2017
LocationManager L = (LocationManager) getSystemService(LOCATION_SERVICE); 

if (!L.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
     Intent I = new Intent( 
                android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);  
        startActivity(I);  
}
...