Я перехожу с устаревшего 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(...)
и это работало нормально. Есть предложения?