I get this error while I am creating a read request object DataReadRequest class.
java.lang.IllegalStateException: Must specify a valid bucketing strategy while requesting aggregation
I did refer to above question but it is not helpful for me as I am not using the above code.
My code is as follows where I am seeing this crash :
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();
I also referred "https://plus.google.com/105817403737304061447/posts/5Bo6qMYRAM9" but it is also not helpful.
The above code is directly from "https://developers.google.com/fit/android/get-started".
Thanks in advance.
As mentioned the bucketByTime
method (use .bucketByTime(1, TimeUnit.DAYS
as I imagine you want to track steps over a day) aggregates data according to the period of time you're asking for and so this bucketing strategy must be specified to avoid throwing IllegalStateException
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With