При разработке приложения Xamarin.Android, которое зависит от службы определения местоположения GPS, я использую отдельное пользовательское приложение для проверки движения по заранее определенному маршруту.
Реализация моделирования работает точно так, как и ожидалось, и разрабатываемое приложение корректно получает исправления. Однако реальная служба GPS устройства также иногда прерывает фактическое исправление GPS, которое противоречит максируемому местоположению.
[0:] Position: 37.8623530305552, 27.2595232774193 [Mock]
[0:] Position: 37.8623389227154, 27.2594691972361 [Mock]
[0:] Position: 37.8955245, 27.2769657
[0:] Position: 37.8623248148509, 27.2594151170736 [Mock]
[0:] Position: 37.8623107069617, 27.2593610369318 [Mock]
Я понимаю, что могу отфильтровывать фиктивные местоположения, но это требует жесткого кодирования моего потребляющего приложения, чтобы знать, что оно использует фиктивные данные, тогда как я действительно хочу, чтобы оно не зависело от источника данных о местоположении.
Я предполагал, что вызов LocationManager.AddTestProvider
временно отключит реальную службу GPS, но это не так.
Я что-то делаю явно неправильно?