SnapshotClient

public class SnapshotClient extends GoogleApi<AwarenessOptions>

Main entry point for the Awareness Snapshot API.

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<PlacesResponse>
getPlaces()
Gets the device's current semantic location, or "place", which can include a name, place type, and address.
Task<TimeIntervalsResponse>
getTimeIntervals()
Gets the semantic time intervals for the to the current time and location.
Task<WeatherResponse>
getWeather()
Gets the current weather conditions (temperature, feels-like temperature, dewpoint, humidity, etc.) at the current device 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 use this method, your app must declare the com.google.android.gms.permission.ACTIVITY_RECOGNITION permission in AndroidManifest.xml, and the user must provide consent at runtime.

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<PlacesResponse> getPlaces ()

Gets the device's current semantic location, or "place", which can include a name, place type, and address.

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.

public Task<WeatherResponse> getWeather ()

Gets the current weather conditions (temperature, feels-like temperature, dewpoint, humidity, etc.) at the current device location.

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.