उपयोगकर्ता के मौजूदा माहौल की जानकारी पाने के लिए, Snapshot API का इस्तेमाल किया जा सकता है. Snapshot API की मदद से, कई तरह के कॉन्टेक्स्ट सिग्नल ऐक्सेस किए जा सकते हैं:
- उपयोगकर्ता की गतिविधि का पता लगाया गया है. जैसे, जब वे पैदल चलते हैं या गाड़ी चलाते हैं.
- आस-पास के वे बीकन जिन्हें आपने रजिस्टर किया है.
- हेडफ़ोन की स्थिति, प्लग इन है या नहीं.
- जगह की जानकारी, जिसमें अक्षांश और देशांतर शामिल हैं.
सिस्टम इन वैल्यू को कैश मेमोरी में सेव करता है, ताकि इन्हें तुरंत वापस लाया जा सके. अगर कोई डेटा मौजूद नहीं है, तो सेंसिंग और अनुमान लगाने की प्रोसेस का इस्तेमाल करके, नई स्टेट वैल्यू दिखाई जाती हैं. Awareness API, उन कॉन्टेक्स्ट टाइप के लिए मौजूदा डेटा टाइप दिखाता है जिनके लिए सार्वजनिक एपीआई उपलब्ध है.
हर कॉन्टेक्स्ट सिग्नल के लिए, Snapshot API का एक तरीका होता है. उदाहरण के लिए, पता लगाई गई मौजूदा गतिविधि की जानकारी पाने के लिए,
getDetectedActivity() को कॉल करें,
DetectedActivityResponse पाने के लिए SuccessListener का इस्तेमाल करें,
फिर ActivityRecognitionResult को वापस पाने के लिए
getActivityRecognitionResult() को कॉल करें.
इससे आपको अनुरोध का असल डेटा मिल सकता है.
यहां दिए गए उदाहरण में, पता लगाई गई सबसे हाल की गतिविधि की जानकारी पाने का तरीका बताया गया है:
Awareness.getSnapshotClient(this).getDetectedActivity()
.addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
@Override
public void onSuccess(DetectedActivityResponse dar) {
ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
}
})
अनुरोध के डेटा का इस्तेमाल करके क्या-क्या किया जा सकता है, इस बारे में ज़्यादा जानने के लिए, स्नैपशॉट का डेटा पाना लेख पढ़ें.