Bir çit kaydedildikten sonra uygulamanız, çit tetiklendiğinde yanıt vermek için bir geri çağırma eklemelidir. Bunu, çitlerdeki Intent
yöntemlerini yönetmek için BroadcastReceiver
alt sınıfını kullanarak yapabilirsiniz.
Bir çite geri arama eklemeden önce çiti kaydetmeniz gerekir.
BroadcastReceiver alt sınıfı oluşturma
Aşağıdaki örnekte BroadcastReceiver
sınıfını kapsayan FenceReceiver
sınıfı gösterilmektedir. Sınıf, uygulamanız tarafından oluşturulan çitlerden kaynaklanan tüm Intent
yöntemlerini işlemek için BroadcastReceiver.onReceive()
geri çağırma yöntemini uygular. Bir Intent
alındığında çit durumunu almak ve geri çağırmaya iletmek için FenceState.extract()
yöntemi kullanılır.
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);
}
}
}