1

Ich habe versucht, initialen Trigger auf INITIAL_TRIGGER_ENTER sowie INITIAL_TRIGGER_DWELL zu setzen. Was auch immer ich einstelle, dieser Trigger wird einmal aufgerufen und ich bekomme eine Benachrichtigung.Wie Sie Android Geofence.GEOFENCE_TRANSITION_DWELL alle 5 Minuten auslösen, wenn der Benutzer in einem Geofence verweilt.

private GeofencingRequest getGeofencingRequest() { 
    GeofencingRequest.Builder builder = new GeofencingRequest.Builder(); 
    builder.setInitialTrigger(GeofencingRequest.INITIAL_TRIGGER_ENTER); 
    builder.addGeofences(mGeofenceList); 
    return builder.build(); 
} 

Ich habe auch setLoiteringDelay (5000) für 5 Sekunden Verzögerung hinzugefügt. Gemäß der Dokumentations-

Stellt die Verzögerung zwischen GEOFENCE_TRANSITION_ENTER und GEOFENCE_TRANSITION_DWELLING in Millisekunden. Wenn zum Beispiel die Wartezeit auf 300000 ms (d. H. 5 Minuten) eingestellt ist, sendet der Service Geofence einen GEOFENCE_TRANSITION_DWELL-Alarm ungefähr 5 Minuten , nachdem der Benutzer einen Geofence eingegeben hat, wenn er sich während dieses Zeitraums innerhalb des Geofence befindet. Wenn der Benutzer den Geofence in diesem Zeitraum verlässt, wird GEOFENCE_TRANSITION_DWELL Warnung nicht gesendet.

Korrigieren Sie mich, wenn ich falsch liege, von meinem Verständnis Einstellung sollte dies alle 5 Minuten auslösen. Ich habe auf 5 Sekunden eingestellt, also sollte es alle 5 Sekunden ein Halteereignis auslösen. Fehle ich hier etwas? Bitte lassen Sie mich wissen, danke.

Antwort

0

Ich suchte für einige Tage im ganzen Netz, aber das ist, was ich jetzt finden konnte. Das mag nicht der richtige Weg sein, aber es tut, was es tun soll.

Überprüfen Sie das Beispielprojekt, das ich created- https://github.com/SkyTreasure/am-i-in-the-geofencing

Lassen Sie mich haben wissen, ob jemand eine bessere Lösung findet.