您可以使用 Snapshot API 取得使用者目前環境的相關資訊。您可以使用 Snapshot API 存取各種情境信號:
- 偵測到使用者活動,例如走路或開車。
- 您已註冊的附近信標。
- 耳機狀態,是否已插入。
- 位置,包含經緯度。
系統會快取這些值,以便快速傳回。如果沒有資料,系統會執行感測和推論作業,以便傳回最新的狀態值。Awareness API 會針對具有公開 API 的內容類型傳回現有資料類型。
每個情境信號都有對應的 Snapshot API 方法。舉例來說,如要取得目前偵測到的活動,您可以呼叫 getDetectedActivity()
,使用 SuccessListener
取得 DetectedActivityResponse
,然後呼叫 getActivityRecognitionResult()
以傳回 ActivityRecognitionResult
,您可以從中取得實際要求資料。
以下範例說明如何取得最新偵測到的活動:
Awareness.getSnapshotClient(this).getDetectedActivity()
.addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
@Override
public void onSuccess(DetectedActivityResponse dar) {
ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
}
})
如要進一步瞭解如何使用要求資料,請參閱「取得快照資料」。