Вы захотите проверить и посмотреть, какой из них доступен в том порядке, в котором вы хотите их использовать, а затем использовать соответствующий:
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();
}