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 durumu (takılı olup olmadığı).
- Enlem ve boylamı 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, herkese açık API'si olan bağlam türleri için mevcut veri türünü döndürür.
Her bağlam sinyalinin karşılık gelen bir Snapshot API yöntemi vardır. Örneğin, mevcut algılanan etkinliği almak için getDetectedActivity()
çağrısı yaparsınız, SuccessListener
kullanarak DetectedActivityResponse
alırsınız, ardından getActivityRecognitionResult()
çağrısı yaparak ActivityRecognitionResult
döndürürsünüz. Bu ActivityRecognitionResult
'dan gerçek istek verilerini alabilirsiniz.
Aşağıdaki örnekte, tespit edilen 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.