Summary: Ctors | Methods | Inherited Methods | [Expand All]
public static final class

# Geofence.Builder

extends Object

java.lang.Object
↳ | com.google.android.gms.location.Geofence.Builder

## Class Overview

A builder that builds `Geofence`.

## Summary

Public Constructors
| Geofence.Builder()

Public Methods
Geofence | build() Creates a geofence object.
Geofence.Builder | setCircularRegion(double latitude, double longitude, float radius) Sets the region of this geofence.
Geofence.Builder | setExpirationDuration(long durationMillis) Sets the expiration duration of geofence.
Geofence.Builder | setLoiteringDelay(int loiteringDelayMs) Sets the delay between GEOFENCE_TRANSITION_ENTER and GEOFENCE_TRANSITION_DWELLING in milliseconds.
Geofence.Builder | setNotificationResponsiveness(int notificationResponsivenessMs) Sets the best-effort notification responsiveness of the geofence.
Geofence.Builder | setRequestId(String requestId) Sets the request ID of the geofence.
Geofence.Builder | setTransitionTypes(int transitionTypes) Sets the transition types of interest.

[Expand] Inherited Methods
From class java.lang.Object
Object | clone()
boolean | equals(Object arg0)
void | finalize()
final Class<?> | getClass()
int | hashCode()
final void | notify()
final void | notifyAll()
String | toString()
final void | wait(long arg0, int arg1)
final void | wait(long arg0)
final void | wait()

## Public Constructors

#### public Geofence.Builder ()

## Public Methods

#### public Geofence build ()

Creates a geofence object.

##### Throws

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.

##### Parameters

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.

##### Parameters

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.

##### Parameters

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.

##### Parameters

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.

##### Parameters

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.

##### Parameters

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