Snapshot API позволяет получать информацию о текущем окружении пользователя. С помощью Snapshot API вы можете получить доступ к различным контекстным сигналам:
- Обнаруженные действия пользователя, например ходьба или вождение.
- Зарегистрированные вами маячки поблизости.
- Подключены ли наушники.
- Местоположение, включая широту и долготу.
Система кеширует эти значения, чтобы быстро возвращать их. Если данных нет, то для получения актуальных значений состояния выполняется считывание и вывод. Awareness 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();
}
})
Подробнее о том, что можно делать с данными запроса, читайте в статье Как получить данные снимка.