Ich habe die neuen Location APIs von android für ein paar Wochen getestet. Im Allgemeinen funktionieren sie recht gut, jedoch verliert der neue Standortanbieter häufig die Handlung.Android Fused Location Provider wird verloren
Konkret verbinde ich ein Beispiel basierend auf the receive location updates example. Es funktioniert ordnungsgemäß und die Standortaktualisierungen werden wie erwartet empfangen.
Das Problem scheint mit dem Fused-Provider selbst zu sein. In manchen Gegenden (vor allem in meiner Wohnung) geht es völlig verloren. Es wird plötzlich denken, dass ich Kilometer von mir entfernt bin. Dort, wo ich arbeite (das ist ein mehr bebautes Gebiet), ist es viel genauer und immer in der Nähe, wo ich eigentlich bin (im Balanced-Modus).
Ich habe viele Versuche unternommen, dies zu beheben, einschließlich der Umstellung auf PRIORITY_HIGH_ACCURACY, wenn ich vermute, dass ein Fehler vorliegt, oder den älteren LocationManager, um ein GPS-Update zu erhalten, um festzustellen, wo ich wirklich bin. Aber nichts scheint zu viel zu helfen. Ich vermute, dass Google schlechte Daten darüber hat, wo sich bestimmte mobile Türme von WiFi-Hotspots in meiner Wohnung befinden, und wenn es sich mit bestimmten Türmen verbindet, springt es plötzlich ein paar Kilometer vom eigentlichen Standort ab. Es ist sehr nervig und wird auch die Geofence API stören. Irgendwelche Ratschläge, wie ich das beheben kann?
Was meinst du mit dem Umschalten auf den alten LocationManager und GPS hilft nicht viel? – paul
Entschuldigung, ich wurde nicht über Ihren Kommentar informiert. Es gibt einen anderen LocationManager in einem anderen Namespace: http://developer.android.com/reference/android/location/LocationManager.html –
Oh, und ja, GPS löst immer das Problem. Es scheint, dass die falschen Standorte mit schlechten Lesungen von den umliegenden Mobilfunkmasten verbunden sind. –