Depois que um limite é registrado, seu app precisa adicionar um callback para responder
quando ele for acionado. Você pode fazer isso usando uma subclasse de
BroadcastReceiver
para processar métodos Intent
de limites.
Antes de adicionar callbacks a um limite, você precisa registrar o limite.
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
originados de limites criados pelo seu app. Quando um Intent
é recebido, o método
FenceState.extract()
é usado para receber o estado de limite e transmiti-lo para o 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);
}
}
}