Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Location.getSpeed():如何在停车后将TextView更新为零_Android - Fatal编程技术网

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

Android Location.getSpeed():如何在停车后将TextView更新为零,android,Android,很奇怪。当我停车时,显示速度的文本视图的值大于零。直到我再次开车,情况才会改变 这是我的代码: public void onLocationChanged(Location location) { double dSpeed = location.getSpeed() * 3.6; if(location.hasSpeed()) { tvKmh.setText(String.valueOf((int)dSpeed)); } else {

很奇怪。当我停车时,显示速度的文本视图的值大于零。直到我再次开车,情况才会改变

这是我的代码:

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);

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

我希望您不是开车到处做地理定位单元测试。您可以使用
ACCESS\u MOCK\u LOCATION
和开发人员工具来更轻松(安全)地进行测试。您是否找到了用于此的ans我也有这个想法,但如果可能的话,我想避免计时器任务。