I need to receive location changes both from Network and GPS providers.
If GPS provider not avaliable or has not location (bad sattelite visibility) I would receive
For search best location Provider please user belowe code : Please refer https://developer.android.com/reference/android/location/Criteria.html for understand, How criteria will going to work ?
public String getProviderName() {
LocationManager locationManager =(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setPowerRequirement(Criteria.POWER_LOW);
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setSpeedRequired(true);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(false);
return locationManager.getBestProvider(criteria, true);
}