Kullanıcının mevcut ortamı hakkında bilgi almak için Snapshot API'yi kullanabilirsiniz. Snapshot API ile çeşitli bağlam sinyallerine erişebilirsiniz:
- Yürüme veya araba kullanma gibi algılanan kullanıcı etkinliği
- Kaydettiğiniz yakındaki beacon'lar.
- Kulaklığın takılı olup olmadığı.
- Enlem ve boylam bilgilerini içeren konum.
Sistem, bu değerleri hızlı bir şekilde döndürebilmek için önbelleğe alır. Veri yoksa güncel durum değerlerini döndürmek için algılama ve çıkarım gerçekleştirilir. Farkındalık API'si, genel API'ye sahip bağlam türleri için mevcut veri türünü döndürür.
Her içerik sinyalinin karşılık gelen bir Snapshot API yöntemi vardır. Örneğin, mevcut algılanan etkinliği almak için getDetectedActivity() işlevini çağırır, SuccessListener kullanarak DetectedActivityResponse elde eder, ardından getActivityRecognitionResult() işlevini çağırarak ActivityRecognitionResult döndürürsünüz. Bu işlevden gerçek istek verilerini alabilirsiniz.
Aşağıdaki örnekte, algılanan en son etkinliğin nasıl alınacağı gösterilmektedir:
Awareness.getSnapshotClient(this).getDetectedActivity()
.addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
@Override
public void onSuccess(DetectedActivityResponse dar) {
ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
}
})
İstek verileriyle yapabilecekleriniz hakkında daha fazla bilgi için Anlık görüntü verilerini alma başlıklı makaleyi inceleyin.