Android 我的手机没有移动,但GPS数据仍在变化
我有一个简单的android代码,可以通过web服务定期将GPS位置发送到数据库。出于测试目的,我将minTime设置为2000msAndroid 我的手机没有移动,但GPS数据仍在变化,android,gps,Android,Gps,我有一个简单的android代码,可以通过web服务定期将GPS位置发送到数据库。出于测试目的,我将minTime设置为2000ms lm=(LocationManager)getSystemService(Context.LOCATION_SERVICE); ll=new SpeedoActionListener(); lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,2000, 0,ll); 但是 当我的手机不移动时,它仍然会向数
lm=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
ll=new SpeedoActionListener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,2000, 0,ll);
但是
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
}
}
}
GPS具有内在的不精确性,所以我认为会有轻微的变化。我不知道为什么当你打开GPS时,它会不断变化(正如其他答案所指出的,它可能使用了另一种来源,如WiFi三角测量)。Android在可用时使用GPS,但不只是依靠GPS。当它使用什么样的数据源时,其内部是一个复杂的主题,如指南主题中所述。例如,位置变化可能来自手机切换策略,以节省电池寿命。在低精度设置中,数据将从Wifi网络接收。选中android手机上的“设置/定位/使用无线网络”复选框。可能是您的代码中有一些错误,正在向web服务发送数据?你能把代码贴在这里吗?卫星移动。对手机位置的解释是基于多颗卫星位置的“最佳猜测”。另外,Ted Hopp关于使用非GPS的评论与电话提供商网络的可用性有关。我添加了代码的其余部分,,,@Randi,有什么解决方案吗?我遇到了类似的问题。我已尝试在onlocationchanged事件中检查两个位置之间的距离。如果距离值超过30米,我将忽略它。但不知怎的,我得到了400.3500.7这样的距离,即使设备还在运行。在这种情况下我能做什么