Обзор API моментальных снимков

Вы можете использовать Snapshot API для получения информации о текущей среде пользователя. С помощью Snapshot API вы можете получить доступ к различным контекстным сигналам :

  • Обнаруженная активность пользователя, например, когда он ходит или едет.
  • Ближайшие маяки, которые вы зарегистрировали.
  • Состояние наушников, подключены они или нет.
  • Местоположение, которое включает широту и долготу.

Система кэширует эти значения, чтобы их можно было быстро вернуть. Если данных нет, считывание и вывод выполняются для возврата свежих значений состояния. API осведомленности возвращает существующий тип данных для типов контекста, которые имеют общедоступный API.

Каждый сигнал контекста имеет соответствующий метод Snapshot API. Например, чтобы получить текущую обнаруженную активность, вы вызываете getDetectedActivity() , используете SuccessListener для получения DetectedActivityResponse , затем вызываете getActivityRecognitionResult() , чтобы вернуть ActivityRecognitionResult , из которого вы можете получить фактические данные запроса.

В следующем примере показано, как получить последнюю обнаруженную активность:

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

Дополнительные сведения о том, что вы можете делать с данными запроса, см. в разделе Получение данных моментального снимка .