Конечно, вы просто получаете провайдеров для сети и GPS и передаете, что хотите, на locationManager.requestLocationUpdates()
.
Если вы хотите прекратить прослушивание определенного провайдера, вызовите locationManager.removeUpdates()
с объектом прослушивателя, указанным вами в locationManager.requestLocationUpdates()
.
Сеть:
Criteria crit = new Criteria();
crit.setPowerRequirement(Criteria.POWER_LOW);
crit.setAccuracy(Criteria.ACCURACY_COARSE);
String provider = locationManager.getBestProvider(crit, false);
GPS:
Criteria crit2 = new Criteria();
crit2.setAccuracy(Criteria.ACCURACY_FINE);
provider2 = locationManager.getBestProvider(crit2, false);
Вы можете использовать LocationManager.isProviderEnabled () doc , чтобы узнать, включен ли / отключен соответствующий поставщик.В документации LocationManager больше информации.
GPS обычно намного медленнее, чем сеть, так как вам нужно находить более 3 удаленных спутников и т. Д.