我是否可以使用相同的locationManager来请求gps和网络提供商的更新,或者我应该创建两个locationManagers并分开onLocation更改的功能等。我真的对此感到困惑
答案 0 :(得分:1)
您需要检查并查看您要使用它们的顺序,然后使用相应的顺序:
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);
}
您可以使用相同的侦听器,因为所有侦听器的方法都将Location
对象作为参数,该对象与源无关:
@Override
public void onLocationChanged(Location location) {
// updateLocation();
}