SnapshotClient

public class SnapshotClient extends GoogleApi<AwarenessOptions>

Main entry point for the Awareness Snapshot API.

Inherited Field Summary

Public Method Summary

Task<BeaconStateResponse>
getBeaconState(Collection<BeaconState.TypeFilter> beaconTypes)
Gets the current information about nearby beacons.
Task<BeaconStateResponse>
getBeaconState(TypeFilter... beaconTypes)
Gets the current information about nearby beacons.
Task<DetectedActivityResponse>
getDetectedActivity()
Gets the user's current activity (e.g., running, walking, biking, driving, etc.).
Task<HeadphoneStateResponse>
getHeadphoneState()
Reports whether headphones are plugged into the device.
Task<LocationResponse>
getLocation()
Gets the device's current location (lat/lng).
Task<TimeIntervalsResponse>
getTimeIntervals()
Gets the semantic time intervals for the to the current time and location.

Inherited Method Summary

Public Methods

public Task<BeaconStateResponse> getBeaconState (Collection<BeaconState.TypeFilter> beaconTypes)

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 getStatusCode() will return status code 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
beaconTypes The types of beacon attachments to return. See Beacons for details about beacon attachments.
Returns
Throws
SecurityException Thrown if a required permission is missing.

public Task<BeaconStateResponse> getBeaconState (TypeFilter... beaconTypes)

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 getStatusCode() will return status code 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
beaconTypes The types of beacon attachments to return. See Beacons for details about beacon attachments.
Returns
Throws
SecurityException Thrown if a required permission is missing.

public Task<DetectedActivityResponse> getDetectedActivity ()

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
Throws
SecurityException Thrown if a required permission is missing.

public Task<HeadphoneStateResponse> getHeadphoneState ()

Reports whether headphones are plugged into the device.

Returns

public Task<LocationResponse> getLocation ()

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
Throws
SecurityException Thrown if a required permission is missing.

public Task<TimeIntervalsResponse> getTimeIntervals ()

Gets the semantic time intervals for the to the current time and location. As examples, some attributes are: TIME_INTERVAL_MORNING, TIME_INTERVAL_AFTERNOON, TIME_INTERVAL_EVENING, TIME_INTERVAL_NIGHT, TIME_INTERVAL_WEEKDAY, TIME_INTERVAL_WEEKEND, 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
Throws
SecurityException Thrown if a required permission is missing.