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