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