Bug in Android Geofence-Beispielcode? Kann bitte jemand bestätigen?
Ich bin nicht sicher, ob dies ist ein bug mit der neue Android GeoFence-Beispielcode oder mein Verständnis von dem, was er tun soll, ist falsch. Die Beispiel-app erstellt geofences aber nicht Alarm, wenn geofence ist verletzt. Wenn jemand möchte, zu geben diesem einen Versuch und bestätigen können, laden Sie den Beispiel-code von hier :
https://developer.android.com/training/location/geofencing.html
Dies ist, was ich erwartet hatte, die Beispiel-app zu tun :
- Setup 2 verschiedene geofences. In meinem Fall, ich nahm 2 Punkte eine Meile
abgesehen von der Eingabe der jeweiligen lat/long. Ich habe auch den radius
250m . - Fuhr ich jeden von denen 2 Orte, einer nach dem anderen
und ich nahm eine Benachrichtigung würde popup darauf hinweist, dass die geofence -
verletzt worden ist.
In diesem Fall, keine Benachrichtigungen noch alle log-Meldungen wurden registriert was bedeutet, dass "ReceiveTransitionsIntentService" wurde nie genannt. Eine Beobachtung ist, dass wenn ich mit dem Auto an die erste Stelle und fügen Sie eine neue geofence-Recht an dieser Stelle, die Benachrichtigung bekommt feuerte sofort, aber auch jede andere Position (geofence), das ich setzen und fahren, passiert nichts.
Irgendeine Idee warum? Ist mein Verständnis korrekt über die sample-app-Funktionalität?
Muss ich alles tun, zusätzlich zu dem, was in der sample-code zu erhalten eine Warnung, wenn ich gegen die geofence-während der Fahrt? Ist die geofence-überwachung getrennt von der Erstellung von geofences, was vermisse ich hier?
Hoch schätzen jede Eingabe, Wir sind sehr begierig, dies zu nutzen, Sie unsere app aber jetzt sind wir stecken geblieben.
Dank,
Torri.
- Ich bin auch mit dem gleichen problem - ich habe nur eine Benachrichtigung erhalten, dass der Benutzer die Eingabe der geofence (bei der Erstellung). Nichts passiert nach, die - verlassen oder Wiedereintritt in das geofence.
- Torri - hast du eine Lösung gefunden für dieses Problem noch? Ich habe eine Beispiel-app, und durch die Zusammenlegung der Geofence-Probe mit der neuen Location API (fused location provider) und erfrischend die position user, ich habe in der Lage (zum größten Teil) um die ordnungsgemäße enter/exit-übergänge auftreten. Es greift zu kurz, wenn diese im hintergrund laufen/app nicht öffnen, aber beim öffnen war es über 90% spot-on, sogar bis zu 10 Meter ohne wifi oder Zelle Abdeckung. Wenn Sie weiterhin Probleme haben, kann ich teilen mein Beispielcode mit Ihnen.
- Ich bin fecing gleiche problem wie Torri.bitte teilen Sie Ihre funktionierenden code?
- diese versuchen-github.com/kyleparker/geofencesample. Erstellt unter Verwendung der Beispiel-app & ich habe einen content-Anbieter, google-maps-editor. Verwenden von "mein Standort" - Symbol zum auslösen der geofence-event. Habe diese basic-code & zog in eine bestehende app, die mithilfe von code/Funktionen von MyTracks-app. Bei der Aufnahme den Pfad, es wird häufige Standort-updates, das wiederum löst die geofencing-Ereignisse. Es funktioniert 99% der Zeit mit guter Genauigkeit. BTW, dies hat eine Menge von zusätzlichen, unnötigen code-getestet und ein paar andere Dinge-nicht reinigen Sie Sie danach. Nutzung auf eigene Gefahr 🙂
- Dies ist, weil die neuen
Geofencing Api
selten GPS. Ich denke, es ist nutzlos, es zu implementieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstens, Ihr Verständnis von der app-Funktionalität ist korrekt. Wenn Sie geben Sie/gib deine geofences es zeigt, dass Sie eine Meldung (es ist immer die Aktualisierung die gleiche Meldung btw, so halten Sie ein Auge für Sie, oder könnten Sie verpassen eine der Veranstaltungen).
Zweitens, seien Sie vorsichtig, da die Geofence-1, standardmäßig ist nur das auslösen GEBEN Sie Veranstaltungen. Also, wenn Sie verlassen, dass geofence-Bereich nach innen werden Sie nicht bekommen eine Benachrichtigung für, die! Sie können dieses Verhalten ändern, in der Schöpfung der mUIGeofence1 Objekt auf MainActivity.java.
Schließlich, wie mit allen Dingen in Bezug auf Lage, diese API ist nicht perfekt.. Aus meinen tests bisher habe ich es noch nie gesehen starten Sie den GPS, so dass, wenn es draussen ziemlich viel scheint, verlassen Sie sich auf Orte, die einfach nicht fallen unter einem 500m radius, geofence, auch wenn Sie stehen rechts in der Mitte. Während einer der Präsentationen auf IO, Reto Meier erwähnt, dass die API wäre klug genug, um zu behandeln, Akku-drain, der beste Weg möglich, so würde es nur einschalten, auf GPS, wenn der Benutzer beginnt, immer enger um einen geofence - was Sinn macht - aber das scheint nie passieren, leider.
it would only turn on GPS when the user starts getting close to a geofence
wie weit die aktuelle Umsetzung dieser Bedingungen Nie scheint, um wahr zu sein, wie es immer Standort von wifi+cell tower, wasDie API wird nie "einschalten" des GPS. Haben Sie zu Beginn der GPS selbst.
stellen Sie außerdem sicher, Sie haben festgelegt, Ihr radius groß genug ist. Ich würde mich sugget macht es 1000 nur um zu sehen, ob es funktioniert. Ich bin immer noch Herumspielen mit, aber der Beispiel-code hier funktioniert einwandfrei:
Wie verwende ich die Android-Geofencing-API?
Anfangs dachte ich das gleiche. Es ist, weil der radius in Meter, und ich dachte, es wäre in KM /Meilen. Also eingetragen hatte ich schon sehr kleine Werte. Dann nach ein paar Experimenten fand ich heraus, dass. Eingegeben größere Werte und klappte es auf meinem Nexus 5
Ich habe versucht, die GeofenceDetection sample-code, und es funktioniert.
Ich benutze nur Wifi und GPS, und mein radius 15 Meter.
Als ich ging, um die region, ist es nicht sofort zeigen, die Meldung.
Nach ein paar Sekunden habe ich "enter" - Meldung.
Auch wenn ich stehe immer noch in der region, manchmal bekam ich mitgeteilt
ich bin verlassen der region. Es macht die app fühlt sich an wie es um springen in die und aus der region.
Schrieb ich eine test-app, dass sowohl die Google-Play-Dienste der Position und der Geofence-APIs. Ich benutzte die location-API, um aktuelle Position an einem 1-Sekunde-rate. Wenn ich meine geofence ich die Anzeige der Entfernung vom aktuellen Standort, um die geofence-center, die aktualisiert werden, wenn die position aktualisiert.
Direkt nach dem geofence eingestellt ist, bekomme ich den Eintrag Ereignis. Ich deutlich, dass Ereignis und gehen für einen Spaziergang außerhalb dem geofence-radius. Die angezeigte Distanz laggt wie verrückt. Es dauerte etwa drei Minuten für die position zu fangen bis zu mir. Eine ähnliche Verzögerung geschah auf dem Weg zurück nach Hause.
Schade-Play-Services ist closed-source, ich würde gerne verstehen, die Grenzen des Algorithmus.