Verwenden Sie GPS und Netzwerk Provider zur gleichen Zeit in Android

Ich habe eine Locationlistener in meiner App implementiert, die den Network Provider nutzt.

Das alles funktioniert gut, weil ich einen Standort schnell will und mit GPS-Provider es dauert.

Aber ich bin zu einem Punkt in meiner App gekommen, wo Ort genau sein muss (max 5-10 Meter).

Ich habe mich gefragt, ob es möglich ist, den GPS-Provider gleichzeitig mit dem Network Provider zu nutzen und dann das beste Ergebnis von beiden zu bekommen? Und ist es auch möglich, mich wissen zu lassen, wann der GPS-Provider mir einen GPS-Standort gegeben hat?

Also im Grunde genommen:

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this); lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); 

Wird das mit demselben überschriebenen onLocationChanged ()?

Und wie kann ich sehen, ob das GPS einen Standort bekommen hat?

Vielen Dank,

  • Wie bekomme ich die aktuelle GPS-Adresse programmgesteuert in Android?
  • Google Play Service Location API gibt manchmal falsche Position zurück
  • Wie für Mock Location in Android Marshmallow zu überprüfen?
  • Lokalisierung der aktuellen Position in Android ohne GPS
  • Android-Anbietern - GPS oder Netzwerkanbieter?
  • Google Play Services Locatio API / setSmallestDisplacement funktioniert nicht
  • Probleme mit android.location.geocoder
  • LocationRequest kleinste Verschiebung und Genauigkeit
  • 2 Solutions collect form web for “Verwenden Sie GPS und Netzwerk Provider zur gleichen Zeit in Android”

    Sie können sicherlich den gleichen Listener für mehrere Provider verwenden. Es kann besser sein, locationmanager.getProviders mit einem Criteria Objekt zu verwenden, dann nach Genauigkeit sortieren oder einfach nur auf sie hören. Nicht viel praktischer Unterschied aber

    Der onLocationChanged Rückruf gibt Ihnen ein Location-Objekt, das eine getProvider() -Methode hat, mit der Sie bestimmen können, woher es kam. Es hat auch eine getAccuracy() -Methode, also könntest du auch deine letzten Fixes nach Genauigkeit sortieren.

    Idealerweise, wenn Sie sich nicht um den Batterieverbrauch kümmern, dann ist es ganz gut, beide Anbieter zu benutzen. Wie Daren erklärt, können Sie die Koordinaten mit getProvider () und getAccuracy () filtern.

    http://blog.shinetech.com/2011/10/14/a-good-look-at-android-location-data/

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.