إدارة استدعاءات الأسوار

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