Ich habe GeoFence in meinem Projekt implementiert. Wenn geoFence-Ereignis auftritt. Sie gibt ein GeoEvent-Objekt mit dem Methodennamen getTriggeringGeofences zurück (Gibt eine Liste mit Geofences zurück, die diesen Geofence-Übergangsalarm ausgelöst haben.).Warum geoEvent eine Liste anstatt einzelner GeoFence zurückgibt
Warum gibt es eine Liste anstatt einzelner geoFence?
GeofenceReceiver.java
public class GeofenceReceiver extends BroadcastReceiver {
public static final String TAG = GeofenceReceiver.class.getSimpleName();
private Context mContext;
@Override
public void onReceive(Context context, Intent intent) {
mContext = context;
GeofencingEvent geoEvent = GeofencingEvent.fromIntent(intent);
Location triggredLocation = geoEvent.getTriggeringLocation();
if (geoEvent.hasError()) {
Log.d(TAG, "Error GeofenceReceiver.onHandleIntent");
} else {
Log.d(TAG, "GeofenceReceiver : Transition -> "
+ geoEvent.getGeofenceTransition());
int transitionType = geoEvent.getGeofenceTransition();
if (transitionType == Geofence.GEOFENCE_TRANSITION_ENTER
|| transitionType == Geofence.GEOFENCE_TRANSITION_DWELL
|| transitionType == Geofence.GEOFENCE_TRANSITION_EXIT) {
//why it is a list of GeoFence
List<Geofence> triggerList = geoEvent.getTriggeringGeofences();
}
}
}
}
Sie können mit mehreren Geofences gleichzeitig interagieren, wenn sich ihre Bereiche überschneiden. –