原因:java.lang.IllegalStateException:请求聚合时必须指定有效的分桶策略
Caused by: java.lang.IllegalStateException: Must specify a valid bucketing strategy while requesting aggregation
我在创建读取请求对象 DataReadRequest 时收到此错误 class。
我确实提到了上面的问题,但它对我没有帮助,因为我没有使用上面的代码。
我看到此崩溃的代码如下:
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”。
提前致谢。
如前所述,bucketByTime
方法(使用 .bucketByTime(1, TimeUnit.DAYS
,因为我想你想跟踪一天的步数)根据你要求的时间段聚合数据,所以这个分桶必须指定策略以避免抛出 IllegalStateException
.
我在创建读取请求对象 DataReadRequest 时收到此错误 class。
我确实提到了上面的问题,但它对我没有帮助,因为我没有使用上面的代码。
我看到此崩溃的代码如下:
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”。
提前致谢。
如前所述,bucketByTime
方法(使用 .bucketByTime(1, TimeUnit.DAYS
,因为我想你想跟踪一天的步数)根据你要求的时间段聚合数据,所以这个分桶必须指定策略以避免抛出 IllegalStateException
.