Snapshot API overview

  • The Places and Weather contextual signals within the Awareness API are deprecated and have been turned off, with existing implementations restricted until specified dates.

  • Developers should utilize the Places SDK for Android instead of the Places contextual signal for new implementations.

  • Google does not offer alternative functionality for the Weather contextual signal, impacting existing implementations relying on it.

  • The Awareness API continues to provide other contextual signals through the Snapshot API, including user activity, nearby beacons, headphone state, and location.

  • Developers can access these signals using corresponding Snapshot API methods and retrieve relevant data for their applications.

You can use the Snapshot API to get information about the user's current environment. With the Snapshot API, you can access a variety of context signals:

  • Detected user activity, such as when they walk or drive.
  • Nearby beacons that you've registered.
  • Headphone state, plugged in or not.
  • Location, which includes latitude and longitude.

The system caches these values so that they can be returned quickly. If there's no data, sensing and inference are performed to return fresh state values. The Awareness API returns the existing data type for context types that have a public API.

Each context signal has a corresponding Snapshot API method. For example, to get the current detected activity, you call getDetectedActivity(), use a SuccessListener to get a DetectedActivityResponse, then call getActivityRecognitionResult() to return an ActivityRecognitionResult from which you can get the actual request data.

The following example shows how to get the latest detected activity:

        Awareness.getSnapshotClient(this).getDetectedActivity()
            .addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
                @Override
                public void onSuccess(DetectedActivityResponse dar) {
                    ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
                }
            })

For more information about what you can do with the request data, see Get Snapshot data.