Время от определения местоположения с помощью эмулятора отключено - PullRequest
0 голосов
/ 28 ноября 2011

Я пишу код Android для проверки библиотек геолокации и столкнулся с проблемой с эмулятором Android. Я создаю LocationListener и, когда вызывается LocationListener :: onLocationChanged, я проверяю время переданного объекта Location, чтобы сравнить его с текущим временем. Я использую окно управления эмулятором DDMS, чтобы изменить местоположение, чтобы вызвать вызов onLocationChanged. Вот код, который я использую в методе onLocationChanged для сравнения переданного времени местоположения с текущим временем («location» - это местоположение, которое передается в onLocationChanged):

float accuracy = location.getAccuracy();
long curTime = System.currentTimeMillis();
float lateness = (curTime - location.getTime()) / 1000;

Проблема, с которой я столкнулся, заключается в том, что время, которое я получаю из местоположения с помощью getTime, всегда сильно отличается от текущего времени (curTime), хотя время между тем, когда я устанавливаю местоположение с помощью DDMS, и временем, когда я смотрю на него в отладчик - дело секунд. Обычно разница составляет несколько часов, а иногда время от местоположения на несколько часов опережает текущее время (поэтому время определения местоположения наступит через несколько часов?!?). Кроме того, разница во времени не является последовательной. В документации для вызова Location :: getTime и System.currentTimeMillies говорится, что возвращаемое время дается в миллисекундах с 1 января 1970 года по Гринвичу, поэтому не должно быть проблем с использованием разных часовых поясов. Это известная ошибка с эмулятором или я что-то не так делаю? Спасибо!

Ответы [ 2 ]

0 голосов
/ 20 марта 2012

Более подробную информацию об этом можно найти на Местоположение GPS эмулятора Android дает неправильное время , а также ссылку на сообщение об ошибке. Кроме того, Проблема с Android, связанная с выяснением того, насколько свежим является последнее исправление GPS , возможно, стоит прочитать, а также почему системное время и время GPS не совпадают.

0 голосов
/ 20 марта 2012

Время GPS на самом деле отличается от времени на устройстве. Таким образом, они могут отличаться в огромном количестве. У Вики есть хорошее объяснение здесь

...