Есть два провайдера: GPS_PROVIDER и NETWORK_PROVIDER, чтобы получить наше текущее местоположение в Android. Можно ли отключить службу определения местоположения и получить местоположение пользователя исключительно по WIFI? Я пытался отключить службу определения местоположения, но NETWORK_PROVIDER возвращает false.
Менеджер местоположения Android
Ответы (2)
Можно ли отключить службу определения местоположения и получить местоположение пользователя исключительно по WIFI?
Да, это возможно, добавив ввод в getLocastKnowsLocation как LocationManager.NETWORK_PROVIDER
LocationManager locMgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location networkLocation = locMgr.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (networkLocation != null) {
Location bestResult = networkLocation;
}
Да, вы все еще можете получить текущее местоположение устройства через Wi-Fi. Данные о местоположении, доступные для устройства Android, включают текущее местоположение устройства. Чтобы предоставить вашему пользователю их текущее положение на карте.
Одной из уникальных особенностей мобильных приложений является определение местоположения. API определения местоположения, доступный в службах Google, упрощает добавление информации о местоположении в ваше приложение с автоматическим отслеживанием местоположения, геозоной и распознаванием активности.
Вот пример демонстрационного приложения, в котором обсуждается, как получить текущее местоположение устройства: https://github.com/googlemaps/android-samples/blob/master/ApiDemos/app/src/main/java/com./example/mapdemo/MyLocationDemoActivity.java