Я стараюсь отображать ту же историю действий, что и приложение Google Fit. Я отлично справляюсь с сеансами, но я просто не могу правильно понять автоматически записанные действия. Как эти две верхние прогулки в примере.
Я думаю, все зависит от того, как устроен DataReadRequest
. Самое близкое, что я получил, это:
DataReadRequest.Builder()
.aggregate(DataType.TYPE_ACTIVITY_SEGMENT, DataType.AGGREGATE_ACTIVITY_SUMMARY)
.bucketByActivitySegment(5, TimeUnit.MINUTES)
.setTimeRange(dateFrom.millis, dateTo.millis, TimeUnit.MILLISECONDS)
.build()
Намеренно исключены прогулки короче 5. Результаты похожи, но результат немного отличается. Примерно на 20% меньше продолжительность и ккал. Иногда это действительно сходит с ума, разрезая деятельность на мелкие кусочки. У меня есть 2 прогулки в Google Fit и в итоге 4 прогулки в моем приложении, которые не складываются с 2 из Google Fit. Я попытался декомпилировать приложение Google Fit, чтобы настроить запрос на заимствование, но приложение хорошо запутано. :)
Кто-нибудь добился этого?