Android 宣传栏API

Android 宣传栏API,android,google-awareness,Android,Google Awareness,我正在尝试为我正在处理的跟踪器的循环事件注册围栏API,以实现自动暂停/恢复功能。广播捕获了DetectedActivityFence。正在停止DetectedActivityFence。正在启动和DetectedActivityFence。期间,未到达广播接收器,因此自动暂停正在工作,但恢复并非不幸。 我错过什么了吗 注意:我用耳机围栏尝试了围栏。插入和耳机围栏。拔下可以在同一个广播接收器中获取这两个事件 将围栏登记为: AwarenessFence starting = Detect

我正在尝试为我正在处理的跟踪器的循环事件注册围栏API,以实现自动暂停/恢复功能。广播捕获了
DetectedActivityFence。正在停止
DetectedActivityFence。正在启动
DetectedActivityFence。期间,
未到达广播接收器,因此自动暂停正在工作,但恢复并非不幸。 我错过什么了吗

注意:我用
耳机围栏尝试了围栏。插入
耳机围栏。拔下
可以在同一个广播接收器中获取这两个事件

将围栏登记为:

    AwarenessFence starting = DetectedActivityFence.starting(DetectedActivityFence.ON_BICYCLE);
    AwarenessFence during = DetectedActivityFence.during(DetectedActivityFence.ON_BICYCLE);
    AwarenessFence stopping = DetectedActivityFence.stopping(DetectedActivityFence.ON_BICYCLE);

   final FenceUpdateRequest.Builder fenceUpdateBuilder = new FenceUpdateRequest.Builder();
        for (AwarenessFence awarenessFence : fenceList) {
            fenceUpdateBuilder.addFence(fenceKey, awarenessFence, mPendingIntent);
        }


        googleApiClient.registerConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
            @Override
            public void onConnected(@Nullable Bundle bundle) {
                Awareness.FenceApi.updateFences(
                        googleApiClient, fenceUpdateBuilder.build())
                        .setResultCallback(new ResultCallback<Status>() {
                            @Override
                            public void onResult(@NonNull Status status) {
                                googleApiClient.disconnect();
                            }
                        });
            }

            @Override
            public void onConnectionSuspended(int i) {

            }
        });
 @Override
    public void onReceive(Context context, Intent intent) {
        FenceState fenceState = FenceState.extract(intent);

        if (TextUtils.equals(fenceState.getFenceKey(), FENCE_CYCLING_ACTIVITY)) {
            switch (fenceState.getCurrentState()) {
                case FenceState.TRUE:

                    Intent serviceIntent = new Intent(context, ActivityRecordService.class);
                    serviceIntent.putExtra(ActivityRecordService.EXTRA_AWARENESS_INPUT, ActivityRecordService.AWARENESS_STARTED_CYCLING);
                    context.startService(serviceIntent);
                    break;

                case FenceState.FALSE:

                    Intent serviceIntent2 = new Intent(context, ActivityRecordService.class);
                    serviceIntent2.putExtra(ActivityRecordService.EXTRA_AWARENESS_INPUT, ActivityRecordService.AWARENESS_STOPPED_CYCLING);
                    context.startService(serviceIntent2);
                    break;
            }
        }
    }