Możesz użyć interfejsu Snapshot API, aby uzyskać informacje o bieżącym środowisku użytkownika. Snapshot API umożliwia dostęp do różnych sygnałów kontekstowych:
- wykryta aktywność użytkownika, np. chodzenie lub jazda samochodem;
- Zarejestrowane przez Ciebie beacony w pobliżu.
- stan słuchawek (podłączone lub nie);
- lokalizacja, w tym szerokość i długość geograficzna;
System zapisuje te wartości w pamięci podręcznej, aby można je było szybko zwrócić. Jeśli nie ma danych, przeprowadzane są wykrywanie i wnioskowanie, aby zwrócić aktualne wartości stanu. Interfejs Awareness API zwraca istniejący typ danych dla typów kontekstu, które mają publiczny interfejs API.
Każdy sygnał kontekstowy ma odpowiadającą mu metodę Snapshot API. Aby na przykład uzyskać aktualnie wykrytą aktywność, wywołaj getDetectedActivity(), użyj SuccessListener, aby uzyskać DetectedActivityResponse, a następnie wywołaj getActivityRecognitionResult(), aby zwrócić ActivityRecognitionResult, z którego możesz uzyskać rzeczywiste dane żądania.
Poniższy przykład pokazuje, jak uzyskać najnowszą wykrytą aktywność:
Awareness.getSnapshotClient(this).getDetectedActivity()
.addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
@Override
public void onSuccess(DetectedActivityResponse dar) {
ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
}
})
Więcej informacji o tym, co możesz zrobić z danymi żądania, znajdziesz w artykule Pobieranie danych zrzutu.