Page Summary
-
SnapshotClient is the main entry point for the Awareness Snapshot API.
-
It provides methods to get the current information about nearby beacons, the user's current activity, whether headphones are plugged in, the device's current location, and semantic time intervals.
-
Some methods require specific permissions declared in AndroidManifest.xml and user consent at runtime.
-
Beacon snapshots are only available on devices running API level 18 or higher.
This class is deprecated.The Awareness API is deprecated and will be turned down in a future Google Play services release, as early as January 2027. There is no direct replacement.
Main entry point for the Awareness Snapshot API.
See Also
Public Method Summary
| Task< BeaconStateResponse > | getBeaconState
( Collection
< BeaconState.TypeFilter
>
beaconTypes)
This method is deprecated. The Awareness API is deprecated and will be
turned down in a future Google Play services release, as early as January 2027.
There is no direct replacement.
|
| Task< BeaconStateResponse > | getBeaconState
( TypeFilter...
beaconTypes)
This method is deprecated. The Awareness API is deprecated and will be
turned down in a future Google Play services release, as early as January 2027.
There is no direct replacement.
|
| Task< DetectedActivityResponse > | getDetectedActivity
()
This method is deprecated. The Awareness API is deprecated and will be
turned down in a future Google Play services release, as early as January 2027.
There is no direct replacement.
|
| Task< HeadphoneStateResponse > | getHeadphoneState
()
This method is deprecated. The Awareness API is deprecated and will be
turned down in a future Google Play services release, as early as January 2027.
There is no direct replacement.
|
| Task< LocationResponse > | getLocation
()
This method is deprecated. The Awareness API is deprecated and will be
turned down in a future Google Play services release, as early as January 2027.
There is no direct replacement.
|
| Task< TimeIntervalsResponse > | getTimeIntervals
()
This method is deprecated. The Awareness API is deprecated and will be
turned down in a future Google Play services release, as early as January 2027.
There is no direct replacement.
|
Inherited Method Summary
Public Methods
public Task< BeaconStateResponse > getBeaconState ( Collection < BeaconState.TypeFilter > beaconTypes)
This method is deprecated.The Awareness API is deprecated and will be turned down in a future Google Play services release, as early as January 2027. There is no direct replacement.
Gets the current information about nearby beacons. Note that beacon snapshots are
only available on devices running API level 18 or higher. If calling from a device
running API level 17 or earlier, the Task
will fail
and calling ApiException.getStatusCode()
will return status code AwarenessStatusCodes.API_NOT_AVAILABLE
.
To use this method, your app must declare the android.permission.ACCESS_FINE_LOCATION
permission in AndroidManifest.xml,
and the user must provide consent at runtime.
Parameters
Returns
- a
TaskwithBeaconStateResponse. UseTask.isSuccessful()to determine success or failure. If successful, useBeaconStateResponse.getBeaconState()to get data on the nearby beacons.
Throws
public Task< BeaconStateResponse > getBeaconState ( TypeFilter... beaconTypes)
This method is deprecated.The Awareness API is deprecated and will be turned down in a future Google Play services release, as early as January 2027. There is no direct replacement.
Gets the current information about nearby beacons. Note that beacon snapshots are
only available on API level 18 or higher. If calling from a device prior to API level
18, the Task
will fail
and calling ApiException.getStatusCode()
will return status code AwarenessStatusCodes.API_NOT_AVAILABLE
.
To use this method, your app must declare the android.permission.ACCESS_FINE_LOCATION
permission in AndroidManifest.xml,
and the user must provide consent at runtime.
Parameters
Returns
- a
TaskwithBeaconStateResponse. UseTask.isSuccessful()to determine success or failure. If successful, useBeaconStateResponse.getBeaconState()to get data on the nearby beacons.
Throws
public Task< DetectedActivityResponse > getDetectedActivity ()
This method is deprecated.The Awareness API is deprecated and will be turned down in a future Google Play services release, as early as January 2027. There is no direct replacement.
Gets the user's current activity (e.g., running, walking, biking, driving, etc.).
To call this function, a different permission is required depending on your Android API level:
- For Android 10 (API level 29) and later: android.permission.ACTIVITY_RECOGNITION permission
- For Android 9 (API level 28) and earlier: com.google.android.gms.permission.ACTIVITY_RECOGNITION permission
Returns
- a
TaskwithDetectedActivityResponse. UseTask.isSuccessful()to determine success or failure. If successful, then useDetectedActivityResponse.getActivityRecognitionResult()to get the current activity.
Throws
public Task< HeadphoneStateResponse > getHeadphoneState ()
This method is deprecated.The Awareness API is deprecated and will be turned down in a future Google Play services release, as early as January 2027. There is no direct replacement.
Reports whether headphones are plugged into the device.
Returns
- a
TaskwithHeadphoneStateResponse. UseTask.isSuccessful()to determine success or failure. If successful, useHeadphoneStateResponse.getHeadphoneState()to get the current headphone state.
public Task< LocationResponse > getLocation ()
This method is deprecated.The Awareness API is deprecated and will be turned down in a future Google Play services release, as early as January 2027. There is no direct replacement.
Gets the device's current location (lat/lng).
To use this method, your app must declare the android.permission.ACCESS_FINE_LOCATION
permission in AndroidManifest.xml
, and the user must provide consent at runtime.
Returns
- a
TaskwithLocationResponse. UseTask.isSuccessful()to determine success or failure. If successful, then useLocationResponse.getLocation()to get the current device location.
Throws
public Task< TimeIntervalsResponse > getTimeIntervals ()
This method is deprecated.The Awareness API is deprecated and will be turned down in a future Google Play services release, as early as January 2027. There is no direct replacement.
Gets the semantic time intervals for the to the current time and location. As
examples, some attributes are: TimeFence.TIME_INTERVAL_MORNING
, TimeFence.TIME_INTERVAL_AFTERNOON
, TimeFence.TIME_INTERVAL_EVENING
, TimeFence.TIME_INTERVAL_NIGHT
, TimeFence.TIME_INTERVAL_WEEKDAY
, TimeFence.TIME_INTERVAL_WEEKEND
, TimeFence.TIME_INTERVAL_HOLIDAY
.
To use this method, your app must declare the android.permission.ACCESS_FINE_LOCATION
permission in AndroidManifest.xml,
and the user must provide consent at runtime.
Returns
- a
TaskwithTimeIntervalsResponse. UseTask.isSuccessful()to determine success or failure. If successful, then useTimeIntervalsResponse.getTimeIntervals()to get the attributes of the current day and time.

