Fused location provider что это за программа на Андроид

Я пытаюсь получить местоположение (lat/lon), используя Fused Location Api в andriod. Мой код отлично работает, когда включены WiFi и gps. Если я отключу gps, то я не получаю никакого обновления местоположения.

Я использую BALANCED_POWER_ACCURACY для запроса местоположения. Я добавил Access_FINE_Location разрешения в манифесте и с помощью игровых сервисов версии 9.2.1 в файле build.gradle.
Я тестирую на реальных устройствах (Samsung SM0G360H API 19 и Samsung SM-G361 API 21). Оба дают одинаковые результаты.
Может ли кто-нибудь сказать мне, как работает Fused Location Api?
Как я могу получить обновления местоположения, когда gps отключен, но сетевое подключение включено?
Мой код:

спросил(а) 2016-09-18T09:07:00+03:00 6 лет, 3 месяца назад
добавить комментарий
пожаловаться

Извините за довольно долгую задержку в попытке ответить на ваш вопрос. Я сам борюсь со всей проблемой местоположения, поэтому я дам вам то, что я заметил и узнал после «много трудностей». Надеюсь, вам по-прежнему нужен ответ.

Увеличь оперативку. ☎ Это приложение потребляет 300 МБ оперативки и сильно тратит заряд батареи

Я не помню, как выглядят настройки уровня API 19, но в целом все настройки местоположения от API lvl 15 и выше (плюс минус некоторые опции здесь и там) были настроены на соответствие логике FusedLocationProviderAPI. Что я имею в виду под этим; Вы должны иметь место установки на все время, чтобы получить какие — либо обновления местоположения, как установка/переключатель контролирует общее расположение.

Надеюсь, это ответит на ваш главный вопрос. Предоставить дополнительную информацию. Поскольку masp упоминает в одном из комментариев, вы можете контролировать то, что поставщик фактически использует через разрешения и константы API Fused Location. Для разрешений вам необходимо выбрать ACCESS_COARSE_LOCATION или ACCESS_FINE_LOCATION. Разница заключается в том (я цитирую):

Если вы используете как NETWORK_PROVIDER, так и GPS_PROVIDER, вам необходимо запросить только разрешение ACCESS_FINE_LOCATION, поскольку оно включает разрешение для обоих поставщиков. Разрешение для ACCESS_COARSE_LOCATION позволяет получить доступ только к NETWORK_PROVIDER.

И тогда у нас есть константы FusedLocationProviderAPI, где ситуация становится немного сложнее. Также из API lvl 21 и выше мы имеем следующее: enter image description here Если вы входите в режим, вы получаете: enter image description here Я больше не буду вдаваться в константы.

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

Последнее, о чем я, вероятно, должен упомянуть, заключается в том, что если вы установите разрешение ACCESS_COARSE_LOCATION, тогда ожидаете ужасающей точности (это также показано в тесте, который я связал выше). Мое предложение — использовать ACCESS_FINE_LOCATION, а затем поиграть с константами Fused Location и интервалами (setInterval и setFastestInterval) Надеюсь, это поможет немного, даже если довольно поздно.

🔥 ЭТО НАДО ОТКЛЮЧИТЬ! Приложение XIAOMI собирает о Вас данные и аналитику. Постоянно работает в фоне

ответил(а) 2017-02-15T14:30:00+03:00 5 лет, 10 месяцев назад
добавить комментарий
пожаловаться

Еще в рубрике

Синяя точка и круг не отображаются на MyLocation с использованием сплайсированного аффилированного местоположения api

Android Fused location api’s, обеспечивает неправильное обновление местоположения, когда я дома, и защелкаю к моей сети WiFi

Выключить значок местоположения без вызова removeLocationUpdates
Android FusedLocation getTime() возвращает разные времена

Другие вопросы

У слушателя местоположения есть проблемы для работы на некоторых устройствах и проблемы для перехода на FusedLocationListener

Можно получить свежие данные (точное текущее местоположение) с помощью Android FusedLocationApi?
Google API LocationResult возвращается со старыми повторяющимися значениями

Читайте также:
Usb charger что это за программа

  1. Вопросы
  2. Android-fusedlocation
  3. Как получить местоположение с помощью Fused Location Provider в android с помощью сети?

Источник: progi.pro

FusedLocation не работает, когда я выключаю и включаю Location в настройках google android

Я использую объединенное местоположение, сравнивая текущее местоположение с заданным местоположением из ответа.

Работает нормально. Но когда я выключаю местоположение в настройках, а затем включаю местоположение, метод ниже не работает. Он напрямую попадает в другую часть, где отображается как location: null в всплывающем сообщении .. Только когда я удаляю приложение, а затем устанавливаю, оно работает. Я не мог понять, почему слитое местоположение не работает после выключения и включения местоположения в настройках Google.

В методе onCreate

В приведенном выше методе он отображает нулевое местоположение после выключения и включения местоположения в настройках Google. 🙁

Комментарии (1)

Есть новости об этой ошибке?

29.03.2018 09:09

Получить данные из формы с помощью JS очень просто: вы запрашиваете элемент формы, передаете его конструктору new FormData() и, наконец, получаете.

Если вы хотите создать свое собственное правило валидации, Laravel предоставляет возможность сделать это. Создайте правило с помощью следующей.

Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно.

Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату.

Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно.

Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей.

Ответы 1

The location object may be null in the following situations:

Location is turned off in the device settings. The result could be null even if the last location was previously retrieved because disabling location also clears the cache.

The device never recorded its location, which could be the case of a new device or a device that has been restored to factory settings.

Google Play services on the device has restarted, and there is no active Fused Location Provider client that has requested location after the services restarted. To avoid this situation you can create a new client and request location updates yourself.

For more information, see Receiving Location Updates.

Первый пункт описывает вашу текущую ситуацию, поскольку отключение местоположения очищает кеш, и, таким образом, getLastLocation() возвращает ноль, поскольку ранее известное местоположение не сохранено.

Вместо этого вы можете использовать getCurrentLocation (. ), если ваша текущая версия сервисов Play поддерживает его, или сделать одноразовый requestLocationUpdates(. ) для получения текущего местоположения.

08.05.2021 20:08

Другие вопросы по теме

Android GPS возвращает одни и те же координаты местоположения с разной точностью

Для получения более точного результата определения местоположения в Android, какой из них использовать FusedLocationApi против FusedLocationProviderClient?

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

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

Источник: reddeveloper.ru

Подходит ли провайдер Fused Location Provider?

Я разрабатываю приложение, в котором хочу использовать Fused Location Provider. Но у меня есть сомнения и пара вопросов.

  1. Когда GPS выключен и я установил приоритет на ВЫСОКИЙ, означает ли это, что GPS будет автоматически включаться или нет?
  2. Могу ли я установить UpdateLocation с поставщиком Fused с ВЫСОКИМ приоритетом по запросу, чтобы хоть немного сэкономить заряд батареи?
  3. Как я могу узнать, какой провайдер Fused использует (это провайдер GPS или сетевой провайдер)? И наконец
  4. Действительно ли провайдер Fused — лучший выбор для местоположения Android? Есть ли в этом отрицательные моменты?
Читайте также:
Ватсап плюс что за программа

Каково твое мнение? Заранее спасибо.

Создан 20 авг.
2,448 2 2 золотых значка 43 год 43 серебряных знака 53 53 бронзовых знака
спросил 28 июн ’16 в 9:57
1,143 3 3 золотых значка 12 12 серебряных значков 35 год 35 бронзовых знаков

да, FusedLocationApi лучше всего подходит для Android, он включает улучшенные обновления местоположения с высокой точностью и экономией заряда батареи. Проверьте это для получения дополнительной информации — developers.google.com/android/reference/com/google/android/gms/…

28 июня ’16 в 10: 082016-06-28 10:08

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

When GPS is off and I set priority to HIGH, does that mean that GPS will be automatically turned on, or not?

Нет, он не будет включаться автоматически. Но если вы используете SettingsApi, пользователю будет предложено диалоговое окно с информацией о том, что GPS должен быть включен. Если пользователь примет это, GPS будет активен автоматически. Проверьте НастройкиApi

How can I know what Fused provider is using (is it a GPS or a network provider)

Если вы правильно используете объединенный api провайдера с SettingsApi. Он выполнит необходимые настройки для текущего запроса местоположения.

Is Fused provider really the best choice for android location? Are there any negative points about it?

На мой взгляд, перед объединенным провайдером вы должны иметь дело напрямую с провайдерами (Gps, сеть). Но fused просто спрашивает вас, «насколько точные местоположения вы хотите получать?»

Создан 20 авг.
2,448 2 2 золотых значка 43 год 43 серебряных знака 53 53 бронзовых знака
ответил 28 июня ’16 в 10:48

4397 4 4 золотых значка 23 23 серебряных знака 53 53 бронзовых знака

«Если вы правильно используете объединенный api провайдера с SettingsApi. Он сделает необходимые настройки для текущего запроса местоположения». нет ответа на вопрос. Я действительно ненавижу незнание, откуда у слитного провайдера его местоположение. Я на собственном горьком опыте убедился, что нельзя доверять значению точности. Точность совершенно бессмысленна, если местоположение не по GPS или GSM.

Да, я знаю, предложение использовать «Настройки Api» — это не ответ. Но нам должно быть интересно, насколько точное местоположение, вместо того, какие из них (GPS, СЕТЬ) используются / используются при использовании объединенного поставщика местоположения. Таким образом, Settings Api гарантирует приоритет вашего запроса местоположения. Кстати, до сих пор я получал высокоточные местоположения от слитного провайдера через PRIORITY_HIGH_ACCURACY правильные настройки.

Как здесь https://developer.android.com/training/location/index.html очень четко указано, что API-интерфейсы местоположения сервисов Google Play предпочтительнее API-интерфейсов местоположения фреймворка Android (android.location) как способ добавления местоположения осведомленность о вашем приложении. Если вы в настоящее время используете API определения местоположения платформы Android, настоятельно рекомендуется как можно скорее перейти на API определения местоположения сервисов Google Play. Надеюсь, вы получили ответ.

Создан 28 июн.
ответил 28 июня ’16 в 10:20

Махендра Чимвал Mahendra Chhimwal
1 808 5 5 золотых значков 19 19 серебряных значков 32 32 бронзовых знака
Значит, провайдер Fused действительно лучший? 🙂
28 июня ’16 в 13: 562016-06-28 10:56

да. По крайней мере, так говорится в официальной документации Android. И я не вижу причин не использовать Fused API.

28 июня ’16 в 11: 102016-06-28 11:10

Еще один вопрос . когда я использую ВЫСОКИЙ приоритет и в документах пишет, что интервал составляет около 5 секунд .. это означает, что каждые 5 секунд местоположение обновляется или это означает, что мы должны ждать 5 секунд, чтобы получить наше местоположение?

Читайте также:
Школьная программа перспектива 1 класс что это

28 июня ’16 в 11: 212016-06-28 11:21

Когда мы устанавливаем интервал для объекта запроса местоположения, это означает, что каждые 5 секунд мы будем получать обновление нового местоположения. Если у FusedApi есть обновления местоположения для других приложений, он может предоставить вам обновление даже до истечения интервала. Для минимизации этого существует API setFasInetrval (длинные миллисекунды).

28 июня ’16 в 12:12

что, если пользователь находится в Китае и на его телефоне не установлена ​​служба Google Play, тогда fusedLocation не будет работать ВООБЩЕ, верно?

9 дек ’17 в 22:48

Я сделал тестовое приложение для Gps, Wifi и Fused Location Provider и тестировал его 2 дня. Это лучше, потому что он использует оба из них, и в большинстве случаев он наиболее точен. Кроме того, данные GPS представляют собой очень зашумленные данные, которые вызывают дрожание, для решения этой проблемы используются фильтры нижних частот или другие фильтры.

Одним из наиболее эффективных фильтров, используемых для получения наиболее точных результатов, является фильтр Калмана. FusedLocationProvider использует этот фильтр так же, как RotationVector, который представляет собой объединенный датчик, объединяющий аппаратное и программное обеспечение. RotationVector использует акселерометр, гироскоп (если есть) и датчик магнитного поля для получения и фильтрации данных о положении и азимуте.

Location.getProvider для Gps с LocationManager возвращает «gps», Wi-Fi возвращает «сеть», а FusedLocationProvider возвращает «объединенный».

When GPS is off and I set priority to HIGH, does that mean that the GPS will be automatically turned on, or not

Все, кроме «Экономия заряда батареи», включает Gps, если доступно. Эти настройки доступны на моем телефоне Android 7.1.1. Настройка местоположения на стороне пользователя была другой в предыдущих версиях Android. Как разработчик, чтобы включить использование Gps, вы должны установить mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

PRIORITY_HIGH_ACCURACY — Use this setting to request the most precise location possible. With this setting, the location services are more likely to use GPS to determine the location.

Установка приоритета также определяет уровень использования батареи.

Can I set UpdateLocation with Fused provider with HIGH priority on demand to save battery at least a little bit?

Да, вы можете установить интервал запроса местоположения в дополнение к приоритету.

mLocationRequest.setInterval(UPDATE_INTERVAL_IN_MILLISECONDS); mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS);

How can I know what Fused provider is using (is it a GPS or a network provider)?

Местоположение из Wi-Fi никогда не возвращает true для Location.hasSpeed ​​(), но Gps почти всегда возвращает true, если вы находитесь на улице. Также в location.getExtras () есть тег спутников, который вы можете проверить на наличие спутников, который доступен только для Gps. Скорость может быть неправильной, если вы идете пешком, или, насколько я читал, я не пробовал это на машине, когда скорость меньше 5 км / ч, это не очень точно. Я имею в виду, что если вы используете FLP, и последние данные о местоположении содержат информацию о скорости, это определенно из Gps .

Are there any negative points about it?

Начиная с Android 8.0 и выше существует ограничение на получение информации, если вы не используете службу переднего плана или получаете местоположение на переднем плане, пока приложение не приостановлено как для FLP, так и для LocationManager.

Также FLP требует, чтобы GooglePlayService был доступен на устройстве пользователя, и он должен быть выше определенной версии. 10 или 11 в зависимости от того, какой из них вы используете. Это может вызвать проблемы, если вы хотите опубликовать свои приложения в стране, например в Китае, где запрещены сервисы Google Play.

Источник: www.stackfinder.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru