引起:java.lang.IllegalStateException:必须在请求聚合时指定有效的bucketing策略

时间:2018-02-09 15:26:54

标签: java android google-fit

我在创建读取请求对象DataReadRequest类时遇到此错误。

java.lang.IllegalStateException: Must specify a valid bucketing strategy while requesting aggregation

我确实参考了上述问题,但由于我没有使用上述代码,因此对我没有帮助。

我的代码如下所示:我看到这次崩溃:

private void accessGoogleFit() {
        Calendar cal = Calendar.getInstance();
        cal.setTime(new Date());
        long endTime = cal.getTimeInMillis();
        cal.add(Calendar.YEAR, -1);
        long startTime = cal.getTimeInMillis();

        DataReadRequest readRequest = new DataReadRequest.Builder()
                .aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
                .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
                .build();

我也提到了“https://plus.google.com/105817403737304061447/posts/5Bo6qMYRAM9”,但也没有帮助。

以上代码直接来自“https://developers.google.com/fit/android/get-started”。

提前致谢。

1 个答案:

答案 0 :(得分:5)

正如前面提到的<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>方法(使用bucketByTime,因为我想你想跟踪一天中的步数)根据您要求的时间段汇总数据必须指定策略以避免抛出.bucketByTime(1, TimeUnit.DAYS