Новый Google Fit HistoryClient не работает для простых ежедневных шагов - PullRequest
0 голосов
/ 04 сентября 2018

Я перехожу с устаревшего GoogleApiClient на циферблат WearOS, но не могу рассчитать количество ежедневных шагов для работы с новыми интерфейсами. Я использую почти точный код в качестве примеров, приведенных на сайте разработчика:

OnCreate в двигателе watchface:

GoogleSignInOptionsExtension fitnessOptions =
      FitnessOptions.builder()
          .addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
          .build();

    GoogleSignInAccount gsa = GoogleSignIn.getAccountForExtension(this, fitnessOptions);

mFitnessClient = Fitness.getHistoryClient(getApplicationContext(), gsa);

Recurrent Handler для опроса шагов:

Task<DataSet> resultTask =  mFitnessClient.readDailyTotalFromLocalDevice(TYPE_STEP_COUNT_DELTA);
try
{
    DataSet totalSet = Tasks.await(resultTask);
    long total = totalSet.isEmpty() ? 0 : totalSet.getDataPoints().get(0).getValue(FIELD_STEPS).asInt();
} catch (Exception e) {
    ...
}

Результаты всегда пусты. Это правильный способ сделать это? Я заметил, что вы больше не можете войти в учетную запись по умолчанию. Мой старый код выглядит так:

mClient = new GoogleApiClient.Builder(this)
        .addApi(Fitness.HISTORY_API)
        .useDefaultAccount()
        .addConnectionCallbacks(...)
        .build();
mClient.connect();

...

Fitness.HistoryApi.readDailyTotalFromLocalDevice(...)

и это работало нормально. Есть предложения?

...