Setelah fence terdaftar, aplikasi harus menambahkan callback untuk merespons saat fence dipicu. Anda dapat melakukannya dengan menggunakan subclass
BroadcastReceiver
untuk menangani metode Intent
dari fence.
Sebelum menambahkan callback ke fence, Anda harus mendaftarkan fence terlebih dahulu.
Membuat subclass BroadcastReceiver
Contoh berikut menunjukkan class FenceReceiver
, yang memperluas
BroadcastReceiver
. Class ini mengimplementasikan
metode callback BroadcastReceiver.onReceive()
untuk menangani semua metode Intent
yang berasal dari fence yang dibuat oleh aplikasi Anda. Saat Intent
diterima, metode
FenceState.extract()
digunakan untuk mendapatkan status fence dan meneruskannya ke 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);
}
}
}