Подтвердить что ты не робот

Android Wear и Google Fit: как заставить обновлять наборы данных между смартватором и смартфоном?

Из смартфона с помощью HistoryAPI Если я прошу историю пользователя и DataType.TYPE_HEART_RATE_BPM за последний прошлый час, начиная с текущего времени, я пропускаю данные за последние полчаса.

Если я попрошу их Google Fit с той же процедурой из smartwatch, все это прекрасно.

Так что это не вопрос извлечения данных, поскольку он зависит от устройства.

Может быть, это проблема синхронизации? Как программно принудительно обновлять записи в хранилище Google Fitness Store?

Это, о чем я говорю.

EDIT: так я создаю запрос

      DataReadRequest readRequest = new DataReadRequest.Builder()
            .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
            .enableServerQueries()
            .read(dataType)
            .build();
4b9b3361

Ответ 1

Предоставляли ли устройства достаточно времени для синхронизации всех данных перед выполнением запроса? Когда вы запрашиваете данные из HistoryAPI на телефоне, он будет извлечен из облака. Однако, когда вы запрашиваете данные с часов, это будут только локальные данные с этого носящего устройства. Если устройства были вне допустимого диапазона, я предполагаю, что после повторного подключения потребуется некоторое время, прежде чем данные часов будут доступны в облаке. Насколько я знаю, нет способа заставить такое обновление происходить быстрее/по требованию.

Возможным обходным решением будет проверка отметки времени точек данных и использование локальных данных на часах, если в запросе, сделанном на телефоне, отсутствуют данные.