একবার কোনো ফেন্স রেজিস্টার করা হয়ে গেলে, সেটি ট্রিগার হলে সাড়া দেওয়ার জন্য আপনার অ্যাপে অবশ্যই একটি কলব্যাক যোগ করতে হবে। ফেন্সের Intent মেথডগুলো হ্যান্ডেল করার জন্য আপনি BroadcastReceiver এর একটি সাবক্লাস ব্যবহার করে এটি করতে পারেন।
কোনো ফেন্সে কলব্যাক যোগ করার আগে, আপনাকে প্রথমে ফেন্সটি রেজিস্টার করতে হবে।
Create a subclass of BroadcastReceiver
নিম্নলিখিত উদাহরণটি FenceReceiver ক্লাসটি দেখায়, যা BroadcastReceiver এক্সটেন্ড করে। ক্লাসটি আপনার অ্যাপ দ্বারা তৈরি ফেন্স থেকে আসা সমস্ত Intent মেথড পরিচালনা করার জন্য BroadcastReceiver.onReceive() কলব্যাক মেথডটি ইমপ্লিমেন্ট করে। যখন একটি Intent গৃহীত হয়, তখন ফেন্সের স্টেট পেতে এবং তা কলব্যাকে পাঠাতে FenceState.extract() মেথডটি ব্যবহৃত হয়।
public class FenceReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
FenceState fenceState = FenceState.extract(intent);
if (TextUtils.equals(fenceState.getFenceKey(), FENCE_KEY)) {
String fenceStateStr;
switch (fenceState.getCurrentState()) {
case FenceState.TRUE:
fenceStateStr = "true";
break;
case FenceState.FALSE:
fenceStateStr = "false";
break;
case FenceState.UNKNOWN:
fenceStateStr = "unknown";
break;
default:
fenceStateStr = "unknown value";
}
mLogFragment.getLogView().println("Fence state: " + fenceStateStr);
}
}
}