إدارة استدعاءات السياج

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