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))
            }
        }

0 ответов

Другие вопросы по тегам