بعد تسجيل السياج، يجب أن يضيف تطبيقك رد اتصال
عند بدء السياج. يمكنك إجراء ذلك باستخدام فئة فرعية من
BroadcastReceiver
للتعامل مع طرق Intent
باستخدام السياج.
قبل إضافة استدعاءات إلى السياج، يجب أولاً تسجيل السياج.
إنشاء فئة فرعية من BroadcastBroadcaster
يوضّح المثال التالي الصف 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);
}
}
}