Android HealthConnect: метод healthConnectClient.getChanges(token) не извлекает новые данные из приложения Health Connect

Недавно я начал работать с HealthConnect SDK для Android (Kotlin), я могу проверять разрешения, включать их, отзывать их и читать данные, но не могу получать обновления из приложения Health Connect.

Звонок:

      val response = healthConnectClient.getChanges(nextChangesToken)

никогда не возвращать изменения (я использовал приложение HealthConnect Toolbox, чтобы вставить новые данные шагов в приложение healthConnect, поэтому я уверен, что есть новые изменения, которые нужно получить).

Я обязательно проверяю и включаю разрешения (шаги ЧТЕНИЯ) перед вызовом метода.

У кого-нибудь был подобный сценарий? я очень ценю любой намек :)

1 ответ

Хотел бы поделиться своими выводами по этой проблеме, возможно, это кому-то поможет. Так что для меня проблема заключалась в том, что я звонил

      val nextChangesToken = healthconnectClient.getChangeToken(..)

каждый раз, когда я звонюhealthconnectClient.getChanges(nexChangesToken)(при нажатии кнопки), что неверно, потому чтоnextChangesTokenэто для следующего звонкаgetchangesи получит следующие данные, если они доступны.

Правильный способ сделать это - позвонитьhealthconnectClient.getChangeToken(..)один раз (конечно, есть условие проверки, которое следует проверить: поскольку этот токен действителен только в течение 30 дней) и в другом действии (нажмите кнопку или около того) позвонитеgetchanges(token)

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