Мой телефон не двигается, но данные GPS все еще меняются - PullRequest
2 голосов
/ 25 марта 2012

У меня есть простой код Android для периодической отправки местоположения GPS в базу данных через веб-сервис.Для целей тестирования я установил minTime на 2000 мс.

lm=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
ll=new SpeedoActionListener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,2000, 0,ll);

Но ...

  1. , когда мой телефон не движется, он все равно вставляет в базу данных разные значения долготы и широты.
  2. Даже я отключенGPS отправляет в базу данных широту и долготу, пока я не закрою соединение между моим телефоном и ноутбуком.

Веб-служба размещена на IIS7, а мой телефон и ноутбук подключены через Wi-Fi

Хотя мой телефон не двигается, почему он отправляет в разные места?

private class SpeedoActionListener implements LocationListener
{

    String result=null;

      @Override
      public void onLocationChanged(Location location) {

          if(location!=null) {
            lati=location.getLatitude();

            longi=location.getLongitude();

            String mylati=Double.toString(lati);
            String mylongi=Double.toString(longi);
            WebServiceCaller obj=new WebServiceCaller();
            result=obj.sendLocationData(mylongi, mylati);
            resultText=(TextView)findViewById(R.id.result);
            resultText.setText(result);


      }

}

      @Override
      public void onProviderDisabled(String provider) {
              // TODO Auto-generated method stub

      }

      @Override
      public void onProviderEnabled(String provider) {
              // TODO Auto-generated method stub

      }

      @Override
      public void onStatusChanged(String provider, int status, Bundle extras) {
              // TODO Auto-generated method stub

      }
}
}

Ответы [ 3 ]

5 голосов
/ 25 марта 2012

В настройках низкой точности данные будут получать из сетей Wifi. Установите флажок Настройка / Расположение / Использование беспроводных сетей на телефоне Android.

4 голосов
/ 25 марта 2012

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

2 голосов
/ 25 марта 2012

GPS имеет присущую неточность, поэтому я ожидаю небольших изменений. Я не знаю, почему он будет меняться при включении GPS, хотя (как отмечено в других ответах, вероятно, он использует альтернативный источник, такой как триангуляция WiFi).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...