我正在尝试使用 google fit history api 来获取我在上周采取的步骤,按天分开。我的应用程序没有记录任何数据,我只是想使用历史 api 来获取 fit store 上的数据。根据我在https://fit.google.com/上的帐户,我在 3 天前走了 151 步,但是当我尝试获取每天所走的步数时,我得到了一个包含 0 个数据集的结果。当我使用以下代码时,我得到了 7 个存储桶,但每个存储桶都包含 0 个数据集。我想我一定是在以某种方式接近这个错误,但我不确定在哪里。
private class GetData extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... params) {
Calendar cal = Calendar.getInstance();
Date now = new Date();
cal.setTime(now);
long endTime = cal.getTimeInMillis();
cal.add(Calendar.WEEK_OF_YEAR, -1);
long startTime = cal.getTimeInMillis();
DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build();
System.out.println("here");
DataReadResult dataReadResult =
Fitness.HistoryApi.readData(mClient, readRequest).await(1, TimeUnit.MINUTES);
System.out.println(dataReadResult.getBuckets().size());
System.out.println(dataReadResult.getDataSets().size());