com.google.android.gms.location.GeofencingApi |
This interface is deprecated.
Use the GoogleApi-based API GeofencingClient
instead.
The main entry point for interacting with the geofencing APIs.
The methods must be used in conjunction with a GoogleApiClient
. E.g.
new GoogleApiClient.Builder(context)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build()
All methods are thread safe.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Sets alerts to be notified when the device enters or exits one of the specified geofences.
| |||||||||||
This method is deprecated.
use
addGeofences(GoogleApiClient, GeofencingRequest, PendingIntent)
instead.
| |||||||||||
Removes geofences by their request IDs.
| |||||||||||
Removes all geofences associated with the given
pendingIntent . |
Sets alerts to be notified when the device enters or exits one of the specified geofences. If
an existing geofence with the same request ID is already registered, the old geofence is
replaced by the new one, and the new PendingIntent
is used to generate intents for
alerts.
Status
is returned when geofences are successfully added or failed to be added.
Refer to GeofenceStatusCodes
for possible errors when adding geofences.
When a geofence transition (for example, entering or exiting) matches one of the transition
filter (see setTransitionTypes(int)
) in the given geofence list, an
intent is generated using the given pending intent. You can call fromIntent(Intent)
to get the transition type, geofences that triggered this
intent and the location that triggered the geofence transition.
In case network location provider is disabled by the user, the geofence service will stop
updating, all registered geofences will be removed and an intent is generated by the provided
pending intent. In this case, the GeofencingEvent
created from this intent represents
an error event, where hasError()
returns true
and getErrorCode()
returns GEOFENCE_NOT_AVAILABLE
.
This method requires ACCESS_FINE_LOCATION
.
Parameters | |
---|---|
client |
GoogleApiClient : an existing GoogleApiClient. It must be connected at the time of this call, which
is normally achieved by calling connect() and waiting for onConnected(Bundle) to be called. |
geofencingRequest |
GeofencingRequest : geofencing request that include a list of geofences to be added and
related triggering behavior. The request must be created using GeofencingRequest.Builder . |
pendingIntent |
PendingIntent : a pending intent that will be used to generate an intent when matched
geofence transition is observed |
Returns | |
---|---|
PendingResult<Status> |
Throws | |
---|---|
SecurityException |
if the app does not have ACCESS_FINE_LOCATION permission |
NullPointerException |
if geofencingRequest or pendingIntent is null
|
This method is deprecated.
use addGeofences(GoogleApiClient, GeofencingRequest, PendingIntent)
instead.
Sets alerts to be notified when the device enters or exits one of the specified geofences. If
an existing geofence with the same request ID is already registered, the old geofence is
replaced by the new one, and the new pendingIntent
is used to generate intents for
alerts.
Status
is returned when geofences are successfully added or failed to be added.
Refer to GeofenceStatusCodes
for possible errors when adding geofences.
When a geofence transition (for example, entering or exiting) matches one of the transition
filter (see setTransitionTypes(int)
) in the given geofence list, an
intent is generated using the given pending intent. You can call fromIntent(Intent)
to get the transition type, geofences that triggered this
intent and the location that triggered the geofence transition.
In case network location provider is disabled by the user, the geofence service will stop
updating, all registered geofences will be removed and an intent is generated by the provided
pending intent. In this case, the GeofencingEvent
created from this intent represents
an error event, where hasError()
returns true
and getErrorCode()
returns GEOFENCE_NOT_AVAILABLE
.
This method requires ACCESS_FINE_LOCATION
.
Parameters | |
---|---|
client |
GoogleApiClient : An existing GoogleApiClient. It must be connected at the time of this call, which
is normally achieved by calling connect() and waiting for onConnected(Bundle) to be called. |
geofences |
List : a list of geofences to be added. The geofences must be created using Geofence.Builder . |
pendingIntent |
PendingIntent : a pending intent that will be used to generate an intent when matched
geofence transition is observed |
Returns | |
---|---|
PendingResult<Status> |
Throws | |
---|---|
SecurityException |
if the app does not have ACCESS_FINE_LOCATION permission |
IllegalArgumentException |
if geofences is null or empty |
NullPointerException |
if intent or listener is null |
Removes geofences by their request IDs. Request ID is specified when you create a Geofence
by calling setRequestId(String)
.
Status
is returned when geofences are successfully removed or fail to be removed.
Refer to GeofenceStatusCodes
for possible errors when removing geofences.
This method requires ACCESS_FINE_LOCATION
.
Parameters | |
---|---|
client |
GoogleApiClient : An existing GoogleApiClient. It must be connected at the time of this call, which
is normally achieved by calling connect() and waiting for onConnected(Bundle) to be called. |
geofenceRequestIds |
List : a list of request IDs of geofences that need to be removed |
Returns | |
---|---|
PendingResult<Status> |
Throws | |
---|---|
IllegalArgumentException |
if geofenceRequestIds is null or empty |
SecurityException |
if the app does not have ACCESS_FINE_LOCATION permission |
NullPointerException |
if listener is null
|
Removes all geofences associated with the given pendingIntent
.
Warning: equals(Object)
is used for comparison. Please use FLAG_UPDATE_CURRENT
rather than FLAG_CANCEL_CURRENT
when creating the pending intent, otherwise you
will not get the same pending intent you provided to addGeofences(GoogleApiClient, List, PendingIntent)
and thus the removal operation will remove nothing.
Status
is returned when geofences are successfully removed or fail to be removed.
Refer to GeofenceStatusCodes
for possible errors when removing geofences.
This method requires ACCESS_FINE_LOCATION
.
Parameters | |
---|---|
client |
GoogleApiClient : An existing GoogleApiClient. It must be connected at the time of this call, which
is normally achieved by calling connect() and waiting for onConnected(Bundle) to be called. |
pendingIntent |
PendingIntent : the pending intent associated with the geofences that need to be removed. |
Returns | |
---|---|
PendingResult<Status> |
Throws | |
---|---|
SecurityException |
if the app does not have ACCESS_FINE_LOCATION permission |
NullPointerException |
if intent or listener is null
|