펜스가 등록되면 펜스가 트리거될 때 응답하는 콜백을 앱에 추가해야 합니다. BroadcastReceiver
의 하위 클래스를 사용하여 펜의 Intent
메서드를 처리하면 됩니다.
펜스에 콜백을 추가하기 전에 먼저 펜스를 등록해야 합니다.
BroadcastReceiver의 서브클래스 만들기
다음 예에서는 BroadcastReceiver
을 확장하는 FenceReceiver
클래스를 보여줍니다. 이 클래스는 BroadcastReceiver.onReceive()
콜백 메서드를 구현하여 앱에서 생성된 울타리에서 시작되는 모든 Intent
메서드를 처리합니다. 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);
}
}
}