بعد تسجيل السياج الجغرافي، يجب أن يضيف تطبيقك دالة ردّ لتنفيذ إجراء
عندما يتم تشغيل السياج. يمكنك إجراء ذلك باستخدام فئة فرعية من
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);
}
}
}