Snapshot API'ye genel bakış

Kullanıcının mevcut ortamı hakkında bilgi edinmek için Snapshot API'yi kullanabilirsiniz. Snapshot API ile çeşitli bağlam sinyallerine erişebilirsiniz:

  • Kullanıcının yürümesi veya araba kullanması gibi algılanan kullanıcı etkinliği.
  • Kaydettiğiniz yakındaki işaretçiler.
  • Takılı veya takılı olmayan kulaklık durumu.
  • Enlem ve boylamı içeren konum.

Sistem, bu değerleri hızlı bir şekilde döndürülebilmeleri için önbelleğe alır. Veri yoksa yeni durum değerleri döndürmek için algılama ve çıkarım işlemi gerçekleştirilir. Awareness API, 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, algılanan mevcut etkinliği almak için getDetectedActivity() çağrısı yapar, DetectedActivityResponse almak için SuccessListener kullanır, ardından gerçek istek verilerini alabileceğiniz bir ActivityRecognitionResult döndürmek için getActivityRecognitionResult() çağrısı yaparsınız.

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 neler yapabileceğiniz hakkında daha fazla bilgi için Anlık görüntü verilerini alma başlıklı makaleyi inceleyin.