Location.getSpeed():停止汽车后如何将TextView更新为零

时间:2014-05-16 15:05:06

标签: android

很奇怪。当我停下车时,显示我的速度的TextView的值大于零。直到我再次开车才会改变。

这是我的代码:

public void onLocationChanged(Location location) {

    double dSpeed = location.getSpeed() * 3.6;

    if(location.hasSpeed()) {
        tvKmh.setText(String.valueOf((int)dSpeed));
    } else {
        tvKmh.setText("0");
    }
}

没有区别:

public void onLocationChanged(Location location) {

    double dSpeed = location.getSpeed() * 3.6;
    tvKmh.setText(String.valueOf((int)dSpeed));
}

当位置未更改时,如何检测到没有速度?

LocationManager的定义如下:

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10, this);

1 个答案:

答案 0 :(得分:0)

也许您需要一个TimerTask来检查当前位置的速度是否为零并相应地更新。也许每秒运行一次。