Aby uzyskać informacje o bieżącym środowisku użytkownika, możesz użyć interfejsu Snapshot API. Dzięki interfejsowi Snapshot API, możesz uzyskać dostęp do różnych sygnałów kontekstowych:
- wykryta aktywność użytkownika, np. chodzenie lub jazda samochodem;
- pobliskie beacony, które zostały zarejestrowane;
- stan słuchawek (podłączone lub nie);
- lokalizacja, która obejmuje szerokość i długość geograficzną.
System buforuje te wartości, aby można je było szybko zwrócić. Jeśli nie ma danych, wykonywane jest 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 odpowiednią metodę interfejsu Snapshot API. Aby na przykład uzyskać aktualnie wykrytą aktywność, wywołaj metodę
getDetectedActivity(),
użyj SuccessListener aby uzyskać DetectedActivityResponse,
a następnie wywołaj metodę 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 Uzyskiwanie danych zrzutu.