Depois que uma restrição é registrada, seu app precisa adicionar um callback para responder
quando ela é acionada. Para isso, use uma subclasse de
BroadcastReceiver
para processar métodos Intent
de barreiras.
Antes de adicionar callbacks a uma cerca, é preciso registrar a cerca.
Criar uma subclasse de BroadcastReceiver
O exemplo a seguir mostra a classe FenceReceiver
, que estende
BroadcastReceiver
. A classe implementa o método de callback
BroadcastReceiver.onReceive()
para processar todos os métodos Intent
que se originam de barreiras criadas pelo seu app. Quando um Intent
é recebido, o método
FenceState.extract()
é usado para receber o estado da barreira e transmiti-lo ao 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);
}
}
}