Snapshot API 概览

您可以使用 Snapshot API 获取有关用户当前环境的信息。借助 Snapshot API,您可以访问各种情境信号

  • 检测到的用户活动,例如用户步行或驾车时。
  • 您已注册的附近信标。
  • 耳机状态,即是否已插入。
  • 位置信息,包括纬度和经度。

系统会缓存这些值,以便快速返回。如果没有数据,系统会执行感知和推理,以返回新的状态值。Awareness API 会针对具有公开 API 的情境类型返回现有数据类型。

每个情境信号都有对应的 Snapshot API 方法。例如,如需获取当前检测到的 activity,您可以调用 getDetectedActivity(),使用 SuccessListener 获取 DetectedActivityResponse,然后调用 getActivityRecognitionResult() 以返回 ActivityRecognitionResult,从中获取实际请求数据。

以下示例展示了如何获取最新检测到的活动:

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

如需详细了解如何使用请求数据,请参阅获取快照数据