אפשר להשתמש ב-Snapshot API כדי לקבל מידע על הסביבה הנוכחית של המשתמש. באמצעות ה-API של תמונת המצב, אפשר לגשת למגוון אותות הקשר:
- זוהתה פעילות של משתמשים, למשל כשהם הולכים או נוהגים.
- איתותי Bluetooth בקרבת מקום שרשמתם.
- מצב האוזניות, מחובר או לא.
- מיקום, שכולל קו רוחב וקו אורך.
המערכת שומרת במטמון את הערכים האלה כדי שניתן יהיה להחזיר אותם במהירות. אם אין נתונים, חישה והשערה יבוצעו כדי להחזיר ערכי מצב עדכניים. ה-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();
}
})
למידע נוסף על מה שאפשר לעשות עם נתוני הבקשה, קראו את המאמר קבלת נתוני snapshot.