Android 我应该为GPS和网络提供商使用单独的locationManager吗?
我是否可以使用相同的locationManager来请求gps和网络提供商的更新,或者我是否应该创建两个locationManager和单独的onLocation changed功能等。我对此感到非常困惑。您需要检查并查看哪一个可用,然后使用相应的一个:Android 我应该为GPS和网络提供商使用单独的locationManager吗?,android,networking,gps,locationmanager,Android,Networking,Gps,Locationmanager,我是否可以使用相同的locationManager来请求gps和网络提供商的更新,或者我是否应该创建两个locationManager和单独的onLocation changed功能等。我对此感到非常困惑。您需要检查并查看哪一个可用,然后使用相应的一个: if(mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){ mLocationManager.requestLocationUpdates(Location
if(mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, LOCATION_UPDATE_MIN_TIME, LOCATION_UPDATE_MIN_DISTANCE, locationListener);
}
else if(mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, LOCATION_UPDATE_MIN_TIME, LOCATION_UPDATE_MIN_DISTANCE, locationListener);
}
您可以使用同一个侦听器,因为所有侦听器的方法都将源不可知的位置
对象作为参数:
@Override
public void onLocationChanged(Location location) {
// updateLocation();
}
您需要按照使用顺序检查并查看哪一个可用,然后使用相应的一个:
if(mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, LOCATION_UPDATE_MIN_TIME, LOCATION_UPDATE_MIN_DISTANCE, locationListener);
}
else if(mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, LOCATION_UPDATE_MIN_TIME, LOCATION_UPDATE_MIN_DISTANCE, locationListener);
}
您可以使用同一个侦听器,因为所有侦听器的方法都将源不可知的位置
对象作为参数:
@Override
public void onLocationChanged(Location location) {
// updateLocation();
}
谢谢你,因为我想使用这个模型来获得最佳性能(),从而从多个网络和gps位置中确定最佳位置。你知道我应该如何实现这篇文章中提到的时间窗口吗?例如,如何监听2分钟的更新,然后做某事……当您调用requestLocationUpdates()时,第二个参数是LOCATION_UPDATE_min_TIME,您可以将其设置为120000(两分钟)是的,但想法是将UPDATE min TIME设置为大约15秒,例如,在2分钟的时间内,我将有大约4个位置(如果一切都按时间进行),从这篇文章中提供的功能的4个位置(我想是isBetterLocation)我会选择最准确的一个..但我想我可能还有一些其他想法,谢谢你的回复。谢谢你,因为我想用这个模型获得最好的性能()因此,从几个网络和gps位置来决定什么是最佳位置。你知道我应该如何实现本文中提到的时间窗口吗?例如,如何监听2分钟的更新,然后在调用requestLocationUpdates()时执行某项操作第二个参数是LOCATION_UPDATE_MIN_TIME,您可以将其设置为120000(两分钟)是的,但是我们的想法是将UPDATE MIN TIME设置为15秒,例如,在2分钟的时间内,我将有大约4个位置(如果一切都按时钟进行),并使用本文提供的功能从这4个位置开始(我想我会选择最准确的一个。)但我想我可能还有其他想法,谢谢你的回复。