फ़ेंस रजिस्टर होने के बाद, आपके ऐप्लिकेशन को एक कॉलबैक जोड़ना होगा, ताकि फ़ेंस ट्रिगर होने पर जवाब दिया जा सके. इसके लिए, आपको 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);
}
}
}