速度突然从零跳到无穷大

Speed Suddenly jumps from zero to Infinity

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

我认为位置更新有问题,因为当我坐着不动时,它检测到速度为零或大约为 0,然后由于某种原因突然跳到无穷大(是的,应用程序显示 'Infinity'), 然后回到 0.

我认为这与试图除以零有关,但我不确定为什么。

这是我的代码:onConnected:

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

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

我觉得,是可以造成的,因为long SecondDiff可以为0,最后Distance会被除0,会造成speed=infinity。