У меня есть простой код Android для периодической отправки местоположения GPS в базу данных через веб-сервис.Для целей тестирования я установил minTime на 2000 мс.
lm=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
ll=new SpeedoActionListener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,2000, 0,ll);
Но ...
- , когда мой телефон не движется, он все равно вставляет в базу данных разные значения долготы и широты.
- Даже я отключен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
}
}
}