У меня проблемы с Google Fit SDK, когда я пытался получить историю шагов из SDK.Хотя я вижу количество возвращаемых сегментов, включая наборы данных.Однако все наборы данных вообще не содержат никаких точек данных, хотя там был указан счетчик шагов в моем приложении Google Fit.
Вот мой код.
Calendar calendar = Calendar.getInstance(new Locale("en", "US", "POSIX"));
calendar.setTime(Utilities.generateDate(new Date(), Utilities.DATE_FORMAT_F));
long endTime = calendar.getTimeInMillis();
calendar.add(Calendar.YEAR, -1);
long startTime = calendar.getTimeInMillis();
DataSource ESTIMATED_STEP_DELTAS = new DataSource.Builder()
.setDataType(DataType.TYPE_STEP_COUNT_DELTA)
.setType(DataSource.TYPE_RAW)
.setStreamName("estimated_steps")
.setAppPackageName("com.google.android.gms")
.build();
DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(ESTIMATED_STEP_DELTAS, DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.enableServerQueries()
.build();
Fitness.getHistoryClient(mContext, account)
.readData(readRequest)
.addOnSuccessListener(new OnSuccessListener<DataReadResponse>() {
@Override
public void onSuccess(DataReadResponse dataReadResponse) {
printData(dataReadResponse);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.e(TAG, "onFailure()", e);
}
})
.addOnCompleteListener(new OnCompleteListener<DataReadResponse>() {
@Override
public void onComplete(@NonNull Task<DataReadResponse> task) {
printData(task.getResult());
}
});
Следовательно, я былинтересно, какую часть Google Fit SDK я пропустил.Любая помощь будет оценена.Кроме того, обратите внимание, что я подписываюсь на Google Fit SDK, и мое приложение Google Fit действительно имеет историю шагов.
Спасибо.