Fused Location manchmal STOPPT
Ich arbeite schon an einer app, die verfolgt die position des Benutzers. Für diese habe ich die google play services location-Modul (eine.k.ein. fused location). Alles in allem funktioniert alles einwandfrei.
ABER manchmal, ganz zufällig, habe ich nicht mehr erhalten, Standort-updates von den google location services, an alle! Ich meine, meine app ist in Ordnung, aber keine location updates. Nicht nur,dass, wenn ich starte google maps, es kann nicht ein Update bekommen, auf meinen Standort (auch mit GPS eingeschaltet). Neuinstallation meine app das Problem nicht beheben lässt.
Aus der 3 taxi-apps, die ich auf mein Handy, 2 von Ihnen können messerscharfe meine Lage. (Wahrscheinlich sind Sie mit der alten LocationManager um den Standort des Geräts).
Fand ich, dass das Problem zu beheben, habe ich aber neu starten, mein Gerät. Aber das ist sehr beunruhigend, ich kann nicht erwarten, dass meine Nutzer Ihre Geräte neu zu starten, wenn etwas schief geht mit der location-updates. (obwohl das nur mir passiert ist etwa 6 mal in den letzten 2 Monaten)
Also: weiß jemand über dieses Problem und gibt es einen work-around dafür? Ist meine app irgendwie Absturz der google-play-Dienste?
- eine Lösung für dieses noch?
- Schließlich bin ich wechselte mit dem alten
LocationManager
. Es ist nicht so smart, oder reaktionsschnell Weg, aber ich habe keine Probleme mit es zu stoppen ohne Grund. - Ich habe dasselbe Problem jetzt , meine vorübergehende Lösung ist dies : ich fragte den Fahrer lassen Sie die app geöffnet sein, bevor Sie wieder screen off, das bedeutet, die app ist immer offen, wenn Sie in Ihrer Arbeitszeit. Ich denke, das Android OS erlaubt es nicht, lassen Sie die app, um GPS zu verwenden, wenn es in den hintergrund, weil die Akkulaufzeit vielleicht. aber diese Lösung ist nicht gut, es befriedigt nicht meinen Kunden sehr gut. auf jeden Fall suchen für die bessere Lösung . alle die besten sebek
- OMG es ist 5 Jahre jetzt und ich bekomme immer noch diesen Fehler. Es ist wie nach einer bestimmten Zeit, Google startet, reset google Standort-Dienst auf ALLEN Geräten und alles ist gereinigt. ALLE meine ich viele meiner Benutzer beschweren sich über gps-Problem bei der gleichen Zeit . Der einzige Weg, das zu beheben, um dieses Problem beheben ich weiß, ist, öffnen Sie die Google-Karte und schalten Sie zurück zu der app. Ein update für dieses Problem bitte helfen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich in letzter Zeit erlebt haben das gleiche problem, Sebek. Ich glaube nicht, dass die Antwort NYX gab, ist die richtige. Es scheint eine andere Lösung für das problem, dass nur Google weiß. Warum sage ich das?
Habe ich eine app erstellt, verwendet die Fused Location Services, um die Lage des mobilen Geräts in 30-Sekunden-Intervallen und rösten Sie die position, wenn die app im Vordergrund. Aber aus irgendeinem Grund die abgesicherte Leistungen nur aufgehört zu arbeiten. Ich versuchte es wieder und wieder und wieder...eingeschaltet Ortungsdienste - WIFI -, GPS-und Netzwerk...nichts funktionierte. Der Fused Location services blieb aus.
Aber dann habe ich versucht, etwas...fing ich an, meine app und dann mit dem eingebauten Android Task Manager startete ich Google Maps...und BOOM! Der Fused Location Services auf meiner app gearbeitet und begonnen, das reporting location-Daten auf den 30-Sekunden-Marke jedes mal...und aus irgendeinem seltsamen Grund, die Genauigkeit der Standorte wurde auch verbessert...bis zu 5 Meter Genauigkeit!! Ich habe versucht, die gleiche Prozedur über und über - dem ersten Start meiner app und nix...dann starten Sie Karten und BOOM! - es funktionierte jedes mal. Ein 100% Erfolg, wenn ich ins Google Maps.
So ist dies ein klarer Beweis, dass Google ausgeführt wird code, der sicherstellt, dass Fused Location Service nicht fallen, wenn Google apps gestartet werden und muss der location service. Sebek, vielleicht können Sie versuchen, diese und sehen, wenn Sie die gleichen Ergebnisse erhalten. Vielleicht können wir dann Fortschritt irgendwo bei der Suche nach einem echten fix.
Cheers,
Shore-T
...
onLocationChangedListener
. Stattdessen bitte ich, die location updates über einen pending Intent zu einem IntentService.locationClient.requestLocationUpdates(locationRequest, locationPendingIntent);
In der neuen Klassepublic class LocationIntentService extends IntentService
Fang ich die AbsichtonHandleIntent
und den Standort.Bundle b = intent.getExtras(); Location location = (Location) b.get(LocationClient.KEY_LOCATION_CHANGED);
Versuchen Speicherort ändern-Modus auf "GPS only" und als Sie wieder auf "Hohe Genauigkeit". Das problem tritt manchmal auf, wenn Sie sich auf innen-und diese zu beheben.
Sehen Sie hier, wie Sie die GPS-Programm auf/ab
Habe ich festgestellt, dass, wenn Sie sich nicht Abmelden von der
LocationManager
durch den AufrufremoveUpdates
auf app schließen, es verursacht manchmal das Problem, das Sie erleben.locationClient.removeLocationUpdates(locationPendingIntent);
Aber ein anderes problem kam bis gerade jetzt. Ich neugestartet mein Telefon mehrere Male und ich kann immer noch nicht die google-maps-Lokalisierung "mein Standort". Ich drehte gps an aus, immer noch nichts.Ich habe zu kämpfen mit diesem problem seit mehreren Wochen , ich glaube, die android OS beschränken, eine app, die im hintergrund dies bedeutet, dass die app keinen Zugriff auf das gps nach ein oder zwei Stunden, wenn es in den hintergrund . kann sein, weil weniger Akku-Verbrauch .
die Lösung, die ich benutze ist diese :
dies ist BaseActivity, die verwendet wird, für jede Aktivität :
hier ist MyApplication Klasse :
}
wenn app ist im hintergrund-wir bringen es in den Vordergrund zu stellen , mit einem timer, der alle 30 Sekunden überprüfen wir, ob app-Bildschirm gesperrt ist oder wenn es nicht gesperrt ist, öffnen wir die app :
der schwierige Teil ist, wenn app ist im hintergrund und der Bildschirm ist gesperrt der onPause() wird aufgerufen, nachdem die Wiedereröffnung der app (bring es in den Vordergrund zu stellen) bedeutet
activityVisible auf false gesetzt ist (das heißt nicht sichtbar, das ist nicht wahr), ist das tatsächlich korrekt ist, aber es ist nicht das, was ich wollte , um dieses problem zu lösen, ich lasse niemals den activityVisible eingestellt werden, wenn Bildschirm gesperrt ist und wenn die app wieder geöffnet wird in splash habe ich den activityVisible zu wahren.
Ich denke, wenn die app kommt in den Vordergrund, seine Priorität ist hoch, dann kann es die Nutzung von gps die ganze Zeit .
Ich hoffe, ich konnte erklären, meine Lösung richtig .
Alle die besten ...
LocationManager
, was nicht so schlau wie verschmolzen Lage, aber es ist mehr zuverlässig.LocationManager
ist gebunden an die app, so wird es nur gestartet, wenn der Benutzer startet die app (so kann es ein paar Sekunden oder eine minute, um die erste Position) und Stoppt, wenn der Benutzer wird heruntergefahren Ihren Dienst, verlieren Sie Ihren letzten bekannten Standort. Aber dann wieder ich habe nicht recherchiert verschmolzen Ort in eine Weile, vielleicht Dinge haben sich zum besseren verändert.