Ich muss
geoFence
am Ausgang aktualisieren. Dafür brauche ich an diesem Punkt den aktuellen Standort.Aktuellen Standort auf Geofence abrufen.GEOFENCE_TRANSITION_EXIT
Wenn mein app geschlossen ist Ich habe nicht Hörer für onLocationChanged
. Und um update geoFence ich brauche meinen Standort. Ist sie eine Möglichkeit, aktuelle Lage bei Geofence.GEOFENCE_TRANSITION_EXIT
public void broadcastUpdateGeoFences() {
MainActivity.isGeoFenceAdded = false;//It tells to update geoFence
Intent intent = new Intent(Constants.RECEIVER_GEOFENCE);
intent.putExtra("done", 1);
sendBroadcast(intent);
}
Broadcast-Receiver in MainActivity
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
int resultCode = bundle.getInt("done");
if (resultCode == 1) {
if(!MainActivity.isGeoFenceAdded){
updateGeoFencesOnCurrentExit();//I need current location here
}
}
}
}
};
Alles funktioniert gut zu bekommen. Aber Es konnte keine Möglichkeit gefunden werden, currentLocation beim Beenden zu verlassen, wenn die App geschlossen wird.
private void updateGeoFencesOnCurrentExit(Location currentLocation){
locationHandler.updateGeoFences(currentLocation);
}
Verwenden Sie einen Intent-Service? – mechdon
Ja, ich bin und ich weiß, es sollte ein Broadcast-Empfänger sein – Nepster
Wo ist Ihre tatsächliche Geofence-Anfrage hinzufügen? –