เมื่อลงทะเบียนรั้วแล้ว แอปของคุณต้องเพิ่มการเรียกกลับเพื่อตอบสนองเมื่อมีการทริกเกอร์รั้ว คุณทำได้โดยใช้คลาสย่อยของ BroadcastReceiver เพื่อจัดการเมธอด Intent จากรั้ว
คุณต้อง ลงทะเบียนรั้วก่อนจึงจะเพิ่มการเรียกกลับลงในรั้วได้
สร้างคลาสย่อยของ BroadcastReceiver
ตัวอย่างต่อไปนี้แสดงคลาส FenceReceiver ซึ่งขยาย BroadcastReceiver คลาสนี้ใช้เมธอด Callback
BroadcastReceiver.onReceive() เพื่อจัดการเมธอด Intent ทั้งหมด
ที่มาจากรั้วซึ่งแอปของคุณสร้างขึ้น เมื่อได้รับ Intent ระบบจะใช้เมธอด
FenceState.extract()
เพื่อรับสถานะรั้วและส่งไปยัง Callback
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);
}
}
}