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