Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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:如何检查位置是当前位置还是最后一个已知位置_Android_Location - Fatal编程技术网

Android:如何检查位置是当前位置还是最后一个已知位置

Android:如何检查位置是当前位置还是最后一个已知位置,android,location,Android,Location,在我的应用程序中,我从网络获取位置,如果网络不可用,我的代码将返回最后一个位置,在这两种情况下,我都想知道该位置是当前位置还是最后一个已知位置。有人能告诉我怎么知道吗?谢谢 public Location getLocation() { try { locationManager = (LocationManager)mContext.getSystemService(LOCATION_SERVICE); // getting network statu

在我的应用程序中,我从网络获取位置,如果网络不可用,我的代码将返回最后一个位置,在这两种情况下,我都想知道该位置是当前位置还是最后一个已知位置。有人能告诉我怎么知道吗?谢谢

 public Location getLocation() {
    try {
        locationManager = (LocationManager)mContext.getSystemService(LOCATION_SERVICE);
        // getting network status
        isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

        if (isNetworkEnabled) {
                locationManager.requestLocationUpdates(
                        LocationManager.NETWORK_PROVIDER,
                        MIN_TIME_BW_UPDATES,
                        MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
                if (locationManager != null) {
                    location = locationManager
                            .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
                    if (location != null) {
                        latitude = location.getLatitude();
                        longitude = location.getLongitude();
                    }
                }
            }

           else{ }   

    } catch (Exception e) {
        e.printStackTrace();
    }

    return location;
}

public double getLatitude(){
    if(location != null){
        latitude = location.getLatitude();
    }      
    return latitude;
}

public double getLongitude(){
    if(location != null){
        longitude = location.getLongitude();
    }
      return longitude;
}

您需要使用

在共享首选项中存储当前位置(纬度和经度最多约5位小数位)。将新位置与共享首选项中的位置进行比较。如果它们相同,则新位置是您最后已知的位置,如果不是,则新位置是新位置,请在共享首选项中再次保存