[英]How enforce Android to re-read GPS position?
我尝试编写应用程序,该应用程序在单击按钮时显示GPS坐标。
@Override
public void onClick(View arg0) {
EditText editText;
editText = (EditText) findViewById(R.id.editText1);
LocationManager locationManager;
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Location location = locationManager.getLastKnownLocation("gps");
editText.setText(location.toString());
}
问题:第一次使用GPS读取时间获得位置坐标时,第二次单击获得相同位置。 即使我停止程序并再次运行,它也会获得相同的位置! 如何强制刷新阅读GPS?
第一次我得到的位置坐标与GPS读取时间有关,第二次单击则获得相同的位置
这不足为奇。
即使我停止程序并再次运行,它也会获得相同的位置!
这也不足为奇。
如何强制刷新阅读GPS?
一般来说,您不需要。 不需要仅因为您请求最后一个已知位置就必须对设备进行全新更新。 提供新的位置定位信息在物理上可能是不可能的。 而且,如果您不调用requestLocationUpdates()
,则getLastKnownLocation()
很可能仅返回null
。
您请求requestLocationUpdates()
参数可能会影响设备尝试更新GPS的积极程度,而不是节省电量。 但是,没有任何保证。
在获取位置之前,请尝试使用此代码来获取可用于获取位置数据的最佳提供商。
Criteria criteria = new Criteria();
String bestProvider = locationManager.getBestProvider(criteria, false);
并在您的getLastKnownLocation
传递最佳的位置提供程序来获取这样的位置
Location location = locationManager.getLastKnownLocation(bestProvider );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.