public static final class Geofence.Builder extends Object

A builder that builds Geofence.

Public Constructor Summary

Public Method Summary

setCircularRegion(double latitude, double longitude, float radius)
setExpirationDuration(long durationMillis)
setLoiteringDelay(int loiteringDelayMs)
setNotificationResponsiveness(int notificationResponsivenessMs)
setRequestId(String requestId)
setTransitionTypes(int transitionTypes)

Public Constructors

public Geofence.Builder ()

Public Methods

public Geofence build ()

Creates a geofence object.

IllegalArgumentException if any parameters are not set or out of range

public Geofence.Builder setCircularRegion (double latitude, double longitude, float radius)

Sets the region of this geofence. The geofence represents a circular area on a flat, horizontal plane.

latitude latitude in degrees, between -90 and +90 inclusive
longitude longitude in degrees, between -180 and +180 inclusive
radius radius in meters

public Geofence.Builder setExpirationDuration (long durationMillis)

Sets the expiration duration of geofence. This geofence will be removed automatically after this period of time.

durationMillis time for this proximity alert, in milliseconds, or NEVER_EXPIRE to indicate no expiration. When positive, this geofence will be removed automatically after this amount of time.

public Geofence.Builder setLoiteringDelay (int loiteringDelayMs)

Sets the delay between GEOFENCE_TRANSITION_ENTER and GEOFENCE_TRANSITION_DWELLING in milliseconds. For example, if loitering delay is set to 300000 ms (i.e. 5 minutes) the geofence service will send a GEOFENCE_TRANSITION_DWELL alert roughly 5 minutes after user enters a geofence if the user stays inside the geofence during this period of time. If the user exits from the geofence in this amount of time, GEOFENCE_TRANSITION_DWELL alert won't be sent.

This value is ignored if the transition types don't include a GEOFENCE_TRANSITION_DWELL filter.

loiteringDelayMs the delay for confirming dwelling, in milliseconds

public Geofence.Builder setNotificationResponsiveness (int notificationResponsivenessMs)

Sets the best-effort notification responsiveness of the geofence. Defaults to 0. Setting a big responsiveness value, for example 5 minutes, can save power significantly. However, setting a very small responsiveness value, for example 5 seconds, doesn't necessarily mean you will get notified right after the user enters or exits a geofence: internally, the geofence might adjust the responsiveness value to save power when needed.

notificationResponsivenessMs (milliseconds) defines the best-effort description of how soon should the callback be called when the transition associated with the Geofence is triggered. For instance, if set to 300000 milliseconds the callback will be called 5 minutes within entering or exiting the geofence.

public Geofence.Builder setRequestId (String requestId)

Sets the request ID of the geofence. Request ID is a string to identify this geofence inside your application. When two geofences with the same requestId are monitored, the new one will replace the old one regardless the geographical region these two geofences represent.

requestId the request ID. The length of the string can be up to 100 characters.

public Geofence.Builder setTransitionTypes (int transitionTypes)

Sets the transition types of interest. Alerts are only generated for the given transition types.

transitionTypes geofence transition types of interest, as a bitwise-OR of GEOFENCE_TRANSITION_ flags.