Привет, у меня есть функциональность, чтобы получить шаги пользователя в приложении с помощью Health Connect в моем приложении. Однако моя функциональность ломается, потому что пользователи вступают в огромные ручные шаги через Google Fit. Я получаю данные из Health Connect, а Health Connect синхронизируется с Google Fit, поэтому предпринимаются огромные шаги, которые невозможно пройти через день. < /P>
suspend fun getTodayTotalSteps(healthConnectClient: HealthConnectClient): Long {
Timber.d("counting_to")
val now = LocalDateTime.now().with(LocalTime.MAX)
val startOfDay = now.toLocalDate().atStartOfDay()
var totalSteps = 0L
try {
Timber.d("start_time:::$startOfDay")
Timber.d("end_time:::$now")
val response =
healthConnectClient.readRecords(
ReadRecordsRequest(
StepsRecord::class,
timeRangeFilter = TimeRangeFilter.between(startOfDay, now)
)
)
for (record in response.records) {
if (record.metadata.recordingMethod == RECORDING_METHOD_AUTOMATICALLY_RECORDED) {
totalSteps += record.count
}
Timber.d("total_steps_after_Wallet_creation:::$totalSteps")
}
return totalSteps
} catch (e: Exception) {
// Run error handling here
Timber.d("error in getting steps today $e")
}
return totalSteps
}
< /code>
теперь ecord.metadata.recordingmethod == recording_method_automaty_recorded Метод записи всегда неизвестно, т.е. 0 < /p>
Я вступил в 2500 шагов в качестве ручных шагов, здесь следуют ответ : < /p>
StepsRecord(startTime=2025-02-04T10:24:12.681Z, startZoneOffset=null, endTime=2025-02-04T10:54:12.682Z, endZoneOffset=null, count=2500, metadata=Metadata(id='c9196ccf-9fa5-4557-9651-7cdcb953ebeb', dataOrigin=DataOrigin(packageName='com.google.android.apps.fitness'), lastModifiedTime=2025-02-04T10:54:34.455Z, clientRecordId=null, clientRecordVersion=0, device=null, recordingMethod=0))
< /code>
Теперь моя честная запись автоматическая заключается в следующем < /p>
StepsRecord(startTime=2025-02-04T02:13:42.690Z, startZoneOffset=null, endTime=2025-02-04T02:14:42.691Z, endZoneOffset=null, count=20, metadata=Metadata(id='9752d916-b8f3-4c21-9a19-0e9471098346', dataOrigin=DataOrigin(packageName='com.google.android.apps.fitness'), lastModifiedTime=2025-02-04T02:31:05.696Z, clientRecordId=null, clientRecordVersion=0, device=null, recordingMethod=0))
< /code>
Любой эксперт Android dev, пожалуйста, помогите. Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/794 ... th-connect
Как отфильтровать ручное количество шагов из Health Connect ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1738676608
Anonymous
Привет, у меня есть функциональность, чтобы получить шаги пользователя в приложении с помощью Health Connect в моем приложении. Однако моя функциональность ломается, потому что пользователи вступают в огромные ручные шаги через Google Fit. Я получаю данные из Health Connect, а Health Connect синхронизируется с Google Fit, поэтому предпринимаются огромные шаги, которые невозможно пройти через день. < /P>
suspend fun getTodayTotalSteps(healthConnectClient: HealthConnectClient): Long {
Timber.d("counting_to")
val now = LocalDateTime.now().with(LocalTime.MAX)
val startOfDay = now.toLocalDate().atStartOfDay()
var totalSteps = 0L
try {
Timber.d("start_time:::$startOfDay")
Timber.d("end_time:::$now")
val response =
healthConnectClient.readRecords(
ReadRecordsRequest(
StepsRecord::class,
timeRangeFilter = TimeRangeFilter.between(startOfDay, now)
)
)
for (record in response.records) {
if (record.metadata.recordingMethod == RECORDING_METHOD_AUTOMATICALLY_RECORDED) {
totalSteps += record.count
}
Timber.d("total_steps_after_Wallet_creation:::$totalSteps")
}
return totalSteps
} catch (e: Exception) {
// Run error handling here
Timber.d("error in getting steps today $e")
}
return totalSteps
}
< /code>
теперь ecord.metadata.recordingmethod == recording_method_automaty_recorded Метод записи всегда неизвестно, т.е. 0 < /p>
Я вступил в 2500 шагов в качестве ручных шагов, здесь следуют ответ : < /p>
StepsRecord(startTime=2025-02-04T10:24:12.681Z, startZoneOffset=null, endTime=2025-02-04T10:54:12.682Z, endZoneOffset=null, count=2500, metadata=Metadata(id='c9196ccf-9fa5-4557-9651-7cdcb953ebeb', dataOrigin=DataOrigin(packageName='com.google.android.apps.fitness'), lastModifiedTime=2025-02-04T10:54:34.455Z, clientRecordId=null, clientRecordVersion=0, device=null, recordingMethod=0))
< /code>
Теперь моя честная запись автоматическая заключается в следующем < /p>
StepsRecord(startTime=2025-02-04T02:13:42.690Z, startZoneOffset=null, endTime=2025-02-04T02:14:42.691Z, endZoneOffset=null, count=20, metadata=Metadata(id='9752d916-b8f3-4c21-9a19-0e9471098346', dataOrigin=DataOrigin(packageName='com.google.android.apps.fitness'), lastModifiedTime=2025-02-04T02:31:05.696Z, clientRecordId=null, clientRecordVersion=0, device=null, recordingMethod=0))
< /code>
Любой эксперт Android dev, пожалуйста, помогите. Заранее спасибо.
Подробнее здесь: [url]https://stackoverflow.com/questions/79411456/how-to-filterout-manual-step-count-from-health-connect[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия