フェンスを登録したら、アプリはフェンスがトリガーされたときに応答するコールバックを追加する必要があります。これを行うには、BroadcastReceiver
のサブクラスを使用して、フェンスからの Intent
メソッドを処理します。
フェンスにコールバックを追加する前に、フェンスを登録する必要があります。
BroadcastReceiver のサブクラスを作成する
次の例は、BroadcastReceiver
を拡張する FenceReceiver
クラスを示しています。このクラスは、アプリによって作成されたフェンスから発生するすべての Intent
メソッドを処理するための BroadcastReceiver.onReceive()
コールバック メソッドを実装します。Intent
を受信すると、FenceState.extract()
メソッドを使用してフェンスの状態を取得し、コールバックに渡します。
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);
}
}
}