Gérer les rappels d'escrime

Une fois qu'une clôture est enregistrée, votre application doit ajouter un rappel pour répondre lorsqu'elle est déclenchée. Pour ce faire, utilisez une sous-classe de BroadcastReceiver pour gérer les méthodes Intent à partir des clôtures.

Avant d'ajouter des rappels à une clôture, vous devez d'abord enregistrer cette dernière.

Créer une sous-classe de BroadcastReceiver

L'exemple suivant montre la classe FenceReceiver, qui étend BroadcastReceiver. La classe implémente la méthode de rappel BroadcastReceiver.onReceive() pour gérer toutes les méthodes Intent provenant des clôtures créées par votre application. Lorsqu'un élément Intent est reçu, la méthode FenceState.extract() permet d'obtenir l'état de clôture et de 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);
        }
    }
}