Bir çit kaydedildikten sonra, çit tetiklendiğinde yanıt vermek için uygulamanız bir geri çağırma eklemelidir. Bunu, çitlerden gelen Intent
yöntemlerini işlemek için BroadcastReceiver
alt sınıfını kullanarak yapabilirsiniz.
Bir sınıra geri çağırma eklemeden önce sınırı kaydetmeniz gerekir.
BroadcastReceiver'ın bir alt sınıfını oluşturun
Aşağıdaki örnekte, BroadcastReceiver
sınıfını genişleten 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);
}
}
}