फ़ेंस कॉलबैक मैनेज करें

फ़ेंस रजिस्टर होने के बाद, आपके ऐप्लिकेशन को कॉलबैक जोड़ना होगा, ताकि फ़ेंस ट्रिगर होने पर जवाब दिया जा सके. ऐसा करने के लिए, BroadcastReceiver की सबक्लास का इस्तेमाल किया जा सकता है, ताकि फ़ेंस से मिलने वाले Intent तरीकों को मैनेज किया जा सके.

फ़ेंस में कॉलबैक जोड़ने से पहले, आपको फ़ेंस रजिस्टर करना होगा.

BroadcastReceiver की सबक्लास बनाना

यहां दिए गए उदाहरण में FenceReceiver क्लास दिखाई गई है, जो BroadcastReceiver का एक्सटेंशन है. यह क्लास, BroadcastReceiver.onReceive() कॉलबैक तरीके को लागू करती है, ताकि आपके ऐप्लिकेशन से बनाए गए फ़ेंस से मिलने वाले सभी Intent तरीकों को मैनेज किया जा सके. जब कोई 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);
        }
    }
}