API Google Fit: чтение данных о шагах из Google Fit
Я использую Google Fit API для разработки медицинского приложения. В настоящее время я разрабатываю приложение, которое будет получать данные истории фитнеса из Google Fit. Мое приложение должно показывать среднее количество шагов за неделю и год, получать данные истории шагов три года назад. Это работает, когда у меня мало данных. Проблема в том, что данные, которые я загружаю, большие (три года назад). Он даже не возвращает ошибку тайм-аута, и мое приложение все еще загружается, даже если оно не возвращает никаких методов обратного вызова. Это нормальное поведение? Есть ли решение для моего случая? Вот код, который я написал:
val dataSourceStep = DataSource.Builder()
.setDataType(DataType.TYPE_STEP_COUNT_DELTA)
.setType(DataSource.TYPE_DERIVED)
.setStreamName(ESTIMATED_STEPS)
.setAppPackageName(GOOGLE_GMS)
.build()
val readRequest = DataReadRequest.Builder()
.aggregate(DataType.AGGREGATE_STEP_COUNT_DELTA)
.aggregate(dataSourceStep)
.bucketByTime(1, Time)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
historyClient
.readData(readRequest)
.addOnSuccessListener { dataReadResponse ->
emitter.onSuccess(analyzeStepChartData(dataReadResponse))
}
.addOnFailureListener {
if (!emitter.isDisposed) {
emitter.onError(Throwable(message = DEFAULT_MSG_ERROR))
}
}