ব্যবহারকারীর বর্তমান পরিবেশ সম্পর্কে তথ্য পেতে, আপনি Snapshot API ব্যবহার করতে পারেন। Snapshot API-এর মাধ্যমে, আপনি বিভিন্ন ধরনের কনটেক্সট সিগন্যাল অ্যাক্সেস করতে পারবেন:
- ব্যবহারকারীর শনাক্ত করা অ্যাক্টিভিটি, যেমন হাঁটা বা গাড়ি চালানো।
- আপনার রেজিস্টার করা কাছাকাছি বিকন।
- হেডফোনের অবস্থা, প্লাগ-ইন করা আছে কিনা।
- লোকেশন, যার মধ্যে অক্ষাংশ ও দ্রাঘিমাংশ অন্তর্ভুক্ত।
সিস্টেম এই ভ্যালুগুলি ক্যাশে করে যাতে সেগুলি দ্রুত ফেরত দেওয়া যায়। কোনও ডেটা না থাকলে, নতুন স্টেট ভ্যালু দেখানোর জন্য সেন্সিং ও ইনফারেন্স পারফর্ম করা হয়। যেসব কনটেক্সট ধরনের পাবলিক API আছে সেগুলির জন্য Awareness API আগে থেকে থাকা ডেটার ধরন রিটার্ন করে।
প্রতিটি প্রসঙ্গ সিগন্যালের সাথে সংশ্লিষ্ট Snapshot API পদ্ধতি থাকে। যেমন, শনাক্ত করা বর্তমান অ্যাক্টিভিটি পেতে,
আপনি getDetectedActivity()-এ কল করুন,
DetectedActivityResponse পেতে SuccessListener ব্যবহার করুন,
তারপর getActivityRecognitionResult()-এ কল করুন
যাতে ActivityRecognitionResult
ফেরত পাওয়া যায়, যেখান থেকে আপনি আসল অনুরোধের ডেটা পেতে পারেন।
লেটেস্ট শনাক্ত করা অ্যাক্টিভিটি কীভাবে পাবেন তা নিম্নলিখিত উদাহরণ থেকে দেখুন:
Awareness.getSnapshotClient(this).getDetectedActivity()
.addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
@Override
public void onSuccess(DetectedActivityResponse dar) {
ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
}
})
অনুরোধ করা ডেটা দিয়ে আপনি কী করতে পারবেন সেই সম্পর্কে আরও জানতে, Snapshot ডেটা পান দেখুন।