Android 速度突然从零跳到无穷大

Android 速度突然从零跳到无穷大,android,location,Android,Location,我目前正在尝试计算一个人使用应用程序的速度 我认为位置更新被窃听了,因为当我坐着不动时,它检测到速度为零或大约为0,然后出于某种原因突然跳到无穷大(是的,应用程序显示“infinity”),然后返回到0 我认为这与试图除以零有关,尽管我不知道为什么 这是我的代码:未连接: public void onConnected(Bundle connectionHint) { if (ContextCompat.checkSelfPermission(this, Manifest.permis

我目前正在尝试计算一个人使用应用程序的速度

我认为位置更新被窃听了,因为当我坐着不动时,它检测到速度为零或大约为0,然后出于某种原因突然跳到无穷大(是的,应用程序显示“infinity”),然后返回到0

我认为这与试图除以零有关,尽管我不知道为什么

这是我的代码:未连接:

public void onConnected(Bundle connectionHint) {

    if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
        LocationServices.FusedLocationApi.requestLocationUpdates(mLocationClient, mLocationRequest, this);
        OldLocation = LocationServices.FusedLocationApi.getLastLocation(mLocationClient);
    }
}

public void onLocationChanged(Location location) {

    int ExceedInstance = PhoneBelt.getExceedInstance();

    int ExceedingLimitInteger = PhoneBelt.getExceedInt();

    float Distance = OldLocation.distanceTo(location);

    long TimeDiff = location.getTime()-OldLocation.getTime();

    long SecondDiff = TimeDiff/1000 % 6;

    float Speed = Distance/SecondDiff;
}

为什么速度突然随机跳到无穷大?

我认为,这是可能的,因为长秒差可以是0。最后,距离将被除以0,它将导致速度=无穷大。

这很奇怪,因为第二个差不能为零。。。最小更新间隔设置为5秒。那么%6呢?我可以做表达式0。哦。。。呵呵。我得修那个。谢谢你指出这一点!