Получить местоположение устройства Android автоматически

Я работаю над приложением для Android, и мне нужно знать местоположение устройства Android. Все методы, которые я пробовал, требуют включения GPS. Если он не включен, мы можем попросить пользователя включить его, открыв намерение настроек.

Есть ли способ включить его с помощью кода, даже не сообщая пользователю ... и отключить его, когда приложение завершит свою работу?

Приложение, над которым я работаю, будет вести учет местоположения устройства. Он будет работать в фоновом режиме и будет отмечать местоположение каждые 15 минут. Постоянное использование GPS будет потреблять много энергии. Поэтому я хочу включить его, когда мне нужно, и выключить, когда я закончу, не спрашивая пользователя.


person SureshS    schedule 17.03.2013    source источник


Ответы (3)


Для определения точного местоположения необходимо включить GPS. Но вы можете использовать NETWORK_PROVIDER и получить широту и долготу. Это не требует вмешательства пользователя. Но, конечно, это приблизительное местоположение, но достаточное для поиска по местоположению.

lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,
            locationListener);
person rahul    schedule 17.03.2013

По соображениям конфиденциальности это никогда невозможно без рутирования устройства.

Вы не можете получить местоположение пользователя без его согласия.

person SLaks    schedule 17.03.2013
comment
@bugsbunny, давай, прояви уважение к тому парню, у которого 290 тысяч репутации, а у тебя 46, только нет 290? - person Android Killer; 17.03.2013
comment
Репутация @AndroidKiller не имеет значения - person ; 27.08.2013

Есть ли способ включить его с помощью кода, даже не сообщая пользователю ... и отключить его, когда приложение завершит свою работу?

К счастью, нет, по очевидным причинам конфиденциальности и безопасности.

Поэтому я хочу включить его, когда мне нужно, и выключить, когда я закончу, не спрашивая пользователя.

Включение и выключение — это не то же самое, что включено и отключено.

Тот факт, что пользователь разрешил включить GPS, не означает, что он потребляет энергию. GPS-радио будет включено только в том случае, если приложение запросило данные о местоположении. Таким образом, вы не можете включить GPS (только пользователи могут), но вы можете организовать включение GPS, если он включен. Пользователь по-прежнему будет видеть значок в строке состояния, когда GPS включен.

Как тогда шпионские приложения и все такое делают?

Они требуют, чтобы GPS был включен пользователем.

person CommonsWare    schedule 17.03.2013