เมื่อลงทะเบียนรั้วแล้ว แอปของคุณต้องเพิ่มการเรียกกลับเพื่อตอบสนองต่อ
เมื่อเรียกใช้รั้ว ซึ่งทําได้โดยใช้คลาสย่อยของ 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);
}
}
}