Snapshot API の概要

Snapshot API を使用して、ユーザーの現在の環境に関する情報を取得できます。Snapshot API を使用すると、さまざまなコンテキスト シグナルにアクセスできます。

  • ユーザーが歩行や運転などのアクティビティを行っていることを検出したとき。
  • 登録済みの近くのビーコン。
  • ヘッドフォンの状態(接続されているかどうか)。
  • 位置情報(緯度と経度を含む)。

システムはこれらの値をキャッシュに保存し、迅速に返せるようにします。データがない場合は、センシングと推論が行われ、新しい状態値が返されます。Awareness API は、公開 API を持つコンテキスト タイプの既存のデータ型を返します。

各コンテキスト シグナルには、対応する Snapshot API メソッドがあります。たとえば、現在検出されたアクティビティを取得するには、getDetectedActivity() を呼び出し、SuccessListener を使用して DetectedActivityResponse を取得してから、getActivityRecognitionResult() を呼び出して ActivityRecognitionResult を返します。この ActivityRecognitionResult から実際のリクエスト データを取得できます。

次の例は、最後に検出されたアクティビティを取得する方法を示しています。

        Awareness.getSnapshotClient(this).getDetectedActivity()
            .addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
                @Override
                public void onSuccess(DetectedActivityResponse dar) {
                    ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
                }
            })

リクエスト データでできることについて詳しくは、スナップショット データを取得するをご覧ください。