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

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