我正在使用以下代码来获取GPS位置。 现在我想获得没有自动更新的GPS位置。
例如,我希望只按一次按钮点击最新位置。
所以请告诉我应该使用minTime和Distance的值,同时获取一次且没有间隔和自动更新的位置更新?
我应该在该按钮中调用位置更新而不是onResume吗?
onbutton click() {
mlocManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
bestProvider = mlocManager.getBestProvider(criteria, false);
loc = mlocManager.getLastKnownLocation(bestProvider);
if(loc != null) {
MyDeviceLatitude = loc.getLatitude();
MyDeviceLongitude = loc.getLongitude();
} else {
showError();
}
}
@Override
public void onLocationChanged(Location argLocation) {
if (argLocation != null) {
loc = argLocation;
}
}
@Override
protected void onPause() {
super.onPause();
mlocManager.removeUpdates(this);
}
@Override
protected void onResume() {
super.onResume();
Criteria criteria = new Criteria();
mlocManager = (LocationManager) getSystemService(LOCATION_SERVICE);
bestProvider = mlocManager.getBestProvider(criteria, false);
mlocManager.requestLocationUpdates(bestProvider, 20000,1 , this);
}
任何帮助将不胜感激。
答案 0 :(得分:0)
在这里看看这篇文章: Android: getLastKnownLocation out-of-date - how to force location refresh?
基本上只需要在“onbutton click()”中执行操作即可获得最后一个位置。但是知道这个位置是从最后一次gps活跃起来的!所以它可能已经过时了。