[英]Android: how to check the location is current location or last known location
在我的应用程序中,我从网络获取位置,如果网络不可用,我的代码将返回最后一个位置,在两种情况下,我都想知道该位置是当前位置还是最后一个已知位置。 有人可以告诉我如何知道这一点。谢谢
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;
}
您需要使用SharedPrefences实现
将当前位置(纬度和经度最多存储5个小数位)存储在共享首选项中。将新位置与共享首选项中的位置进行比较。如果相同,则新位置是您最后一次知道的位置,如果不是新位置是新的,再次保存在您的共享首选项中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.