Почему макет локации возвращается в реальное положение
Я добавил тестового провайдера, используя LocationManager.GPS_PROVIDER
как имя провайдера, как описано здесь
https://mobiarch.wordpress.com/2012/07/17/testing-with-mock-location-data-in-android/
В приложении Google Maps я вижу, как местоположение перепрыгивает между имитируемым и реальным местоположением, а затем обратно в место, где они находятся.
Почему прыгает в реальное место и как я могу это остановить?
Может быть, я неправильно понимаю, как использовать ложные локации. Я не нашел официальной документации.
3 ответа
Скорее всего, настройки вашего местоположения настроены таким образом, чтобы ваш телефон (и приложения) могли использовать как местоположение от датчика GPS, так и местоположение от ячеек и Wi-Fi. С момента появления провайдера Fused Location, способ, которым система выбирает ваше местоположение, стал немного мрачнее.
Когда вы имитируете положение, вы можете только смоделировать показания датчика GPS (это также верно для случая, когда вы имитируете положение с помощью настроек симулятора). Таким образом, когда система подает в Google Maps данные о местоположении от датчика GPS, она дает им поддельные данные, а когда она предоставляет данные о местоположении от других датчиков, она будет реальной.
Чтобы проверить, что я прав, вы можете переключить настройки местоположения на "Только устройство", и вы должны получить только поддельные позиции.
К сожалению, нет способа высмеять показания других датчиков.
Отключите сканирование Wi-Fi / Bluetooth в настройках местоположения , чтобы перестать прыгать и сохранить фиктивное местоположение.
Я создал приложение для макетирования местоположения, и обычно это происходит, если у вас есть опция «Точность местоположения Google» -> ON, и вы начинаете вводить макеты местоположений. Если между отправленными макетами местоположений есть небольшой разрыв, то обычно у вас будет этот прыжок. .
Чтобы избежать этого, я бы отключил «Точность местоположения Google» в настройках. затем начните вводить макеты локаций.