उपयोगकर्ता के मौजूदा एनवायरमेंट के बारे में जानकारी पाने के लिए, Snapshot API का इस्तेमाल किया जा सकता है. Snapshot API की मदद से, आप अलग-अलग तरह के कॉन्टेक्स्ट सिग्नल ऐक्सेस कर सकते हैं:
- उपयोगकर्ता की गतिविधि का पता लगाना. जैसे, पैदल चलना या गाड़ी चलाना.
- आस-पास मौजूद बीकन जिन्हें आपने रजिस्टर किया है.
- हेडफ़ोन की स्थिति. जैसे, हेडफ़ोन प्लग इन हैं या नहीं.
- जगह की जानकारी. इसमें अक्षांश और देशांतर शामिल है.
सिस्टम इन वैल्यू को कैश मेमोरी में सेव करता है, ताकि इन्हें तुरंत दिखाया जा सके. अगर कोई डेटा नहीं है, तो नई स्थिति की वैल्यू दिखाने के लिए, सेंसिंग और अनुमान की प्रोसेस की जाती है. जिन कॉन्टेक्स्ट टाइप के लिए, सार्वजनिक एपीआई उपलब्ध है उनके लिए, Awareness 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();
}
})
अनुरोध के डेटा से क्या-क्या किया जा सकता है, इस बारे में ज़्यादा जानने के लिए, स्नैपशॉट डेटा पाना लेख पढ़ें.