Une fois une limite géographique enregistrée, votre application doit ajouter un rappel pour répondre lorsque la limite est déclenchée. Pour ce faire, vous pouvez utiliser une sous-classe de BroadcastReceiver afin de gérer les méthodes Intent à partir des limites.
Avant d'ajouter des rappels à une limite, vous devez d'abord enregistrer l'enregistrer.
Créer une sous-classe de BroadcastReceiver
L'exemple suivant montre la classe FenceReceiver, qui étend BroadcastReceiver. La classe implémente la
BroadcastReceiver.onReceive() méthode de rappel pour gérer toutes les Intent méthodes
provenant des limites créées par votre application. Lorsqu'un Intent est reçu, la
FenceState.extract()
méthode est utilisée pour obtenir l'état de la limite et le transmettre au rappel.
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);
}
}
}